欢迎来到[自学php网] ①群 AG亚游集团

AG亚游集团 > 前端 > jquery教程 >

jquery使用小技巧

来源:未知 ?? 时间:2016-06-08 16:22?作者:xxadmin

[导读] jquery的诞生方便了我们前端小菜鸟对web交互的操作。 今天为大家带来jquery使用部分小技巧。 jquery阻止浏览器默认行为,如超链接。...


jquery的诞生方便了我们前端小菜鸟对web交互的操作。

今天为大家带来jquery使用部分小技巧。


jquery阻止浏览器默认行为,如超链接。

$("a").click(function(event){
  event.preventDefault();
});


Jquery触发回车事件

 $(function () {
    $('#target').bind('keyup', function (event) {
       if (event.keyCode == 13) {
          alert("Hello~");
       }
   });
});


获得select 的值

jquery可以像获取textbox值一样获取select的值:$('select').val();


复制文本

使用  window.clipboardData.setData('text', text); 

可以将text文本放到系统剪贴板中,实现文本的复制功能。但是,这个方法只被IE所支持。

Google Chrome 和Foxfire都不支持。所以,在使用时应先判断浏览器是否支持:

if (window.clipboardData) {  window.clipboardData.setData('text', text); }


选择文本

对于input或者textarea的文本选择,jquery提供了一个简单的函数完成:select(),在调用它的时候,需要确保文本框可见,并且已经获得焦点。     

$("#txtSample").focus().select();  /现货的焦点,然后选择文本


鼠标事件

mouseover 和 mouseout、 mouseenter 和  mouseleave;这两组事件都是鼠标移入和移出元素时触发的,

他们的最大区别是: mouseover 和 mouseout是冒泡的,如果鼠标移动到它们的子元素,同样会触发该事件,

而 mouseenter 和  mouseleave是不会冒泡的。     

这个区别很重要!


jQuery对象的扩展

    $.extend(target,prop1,propN):

用一个或多个其他对象来扩展一个对象,返回这个被扩展的对象。这是jquery实现的继承方式。例如:

    $.extend(settings, options);

合并settings和options,并将合并结果返回settings中,相当于options继承setting并将继承结果保存在 setting中。

    var settings = $.extend({}, defaults, options);

合并defaults和options,并将合并结果返回到setting中而不覆盖default内容。可以有多个参数(合并多项并返回)


jQuery删除数组中的项

如Tip7中所说,使用$.grep()方法删除数组中的元素。

var array = ['a', 'b', 'c']; 

$.grap(array, function(value, index){return value=='b';}, true);

上面的代码将删除数组array中的元素'b'。


jQuery数组的处理

$.each(obj, fn);

  对obj进行遍历,obj为要遍历的数组或对象;fn为处理函数,可选的参数为索引和内容,例如var fn = function(index, content){};如果需要结束遍历,请返回false,其它的返回值将会被忽略。

  该方法可以用来处理JSON数据对象。


$.inArray(obj, array);

  判断数组array中是否包含obj对象,如果存在,返回对应的下标,如果不存在,返回-1;


$.map(array, fn);

  将一个数组中的元素转换到另一个数组中。array为需要转换的数组,fn为处理函数;这个方法的返回值是一个经过处理后的新数组。


$.merge(array1, array2);

  合并两个数组;将数组array2中的内容复制到array1中,并将结果返回。merge方法不会去除重复,需要使用 $.unique()去除重复。


$.unique(array);

  去除数组array中的重复项。


$.grep(array, fn, [invert]);

  过滤数组中的元素;该方法对数组array中的每一个对象都调用fn方法;

  invert 可选参数;如果 "invert" 为 false 或未设置,则函数返回数组中由过滤函数返回 true 的元素,当"invert" 为 true,则返回过滤函数中返回 false 的元素集。

  该方法常用来删除数组中的元素


去除string开头和结尾的空格

js中没有提供trim函数供我们去掉字符串两段的空字符,jQuery中扩展了这一功能:

$.trim(str):删除字符串两端的空白字符。

如:$.trim(" hello, how are you? "); /返回"hello,how are you? "


添加事件和移除事件

为一个jQuery对象添加事件是很方便的事情:

$('#btn').click(fn);

$('#btn').bind('click', fn);

jQuery提供了为一个对象的事件提供多个处理函数的机制,我们添加了一个click事件处理方法后,还可以继续添加,而不会覆盖先前的处理方法。

当调用unbind方法时移除绑定的事件订阅:

$('#btn').unbind();    /将会移除所有的事件订阅

$('#btn').unbind('click')  /将会移除click事件的订阅


获取jQuery对象集合中的一项

 对于获取的元素集合,获取其中的某一项(通过索引指定)可以使用eq或get(n)方法或者索引号获取,要注意,eq返回的是jquery对象,而 get(n)和索引返回的是dom元素对象。对于jquery对象只能使用jquery的方法,而dom对象只能使用dom的方法,如要获取第三个<div>元素的内容。有如下两种方法: 

$("div").eq(2).html();      /调用jquery对象的方法
$("div").get(2).innerHTML;   /调用dom的方法属性


jQuery对象和Dom的转换


Dom对象可以通过$(dom)转换为jQuery对象;例如:

  $(document.getElementById('#myDiv'))

jQuery对象本身是一个索引,可以通过下标得到Dom对象;也可以使用方法get()获取Dom对象;例如:

$("div")[0];    /获取第一个Dom对象
$("div").get(0);  /同样获取第一个Dom对象


在独立的js文件中智能感知

在js文件的开头添加://<reference path="jquery-1.3.2-vsdoc2.js" />


最新文章

点击排行

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号@版权所有AG亚游集团

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

啥?哈登保罗赛后打起来? ABC美女记者搞事情 快讯:日本央行维持政策利率在-0.100%不变 符合预… 凯特王妃诞下男婴 英王室迎来王位第五顺位继承人 曝曼城还要补强攻击线 瓜帅看上昔日曼联弃将 南京交警遭闯关司机压死 检方建议无期以上刑罚 朝鲜高官又来中国了 外媒猜测可能是为了这事 陈志钊:打不开局面时全队很耐心 远射进球很幸运 等了10年!能单换库里的人,竟然是这名新秀! 苏宁逼近榜首又喜事连连 后防两大将好事来敲门 女法医26年尸检近500例 第一次出现场想转身逃走 贸易战苦果在美发酵:物价上涨 岗位流失 产品滞销 2018赛季中超联赛16强完全名单
特朗普要见金正恩突然吗?新华社:情理之中 60岁人大代表周洪宇已任4届 提交议案建议3百多件 全国花样滑冰冠军赛落幕 没名将的比赛一样精彩 记者伙同3名假“同行”敲诈勒索2.1万 4人均获刑 名将:C罗就像一块磁铁 能吸引更多人去意甲踢球 切尔西PK曼联皇马夺意甲帝星 1.5亿大战启序幕 阿里云在欧洲推出云服务及AI方案:有聊天机器人 俄方宣称英对俄指控毫无根据 并对英立场感到困惑 底线平筐折叠重扣!这个扣篮最差也是本季前3 苹果放弃价值10亿美元的爱尔兰数据中心计划 江西新任常委施小琳调研井冈山:把红色基因植心田 央视评雷闯性侵案:以公益的名义张扬肮脏的灵魂
代表支招全面二孩:降低养育成本 完善配套政策 新型锂硅电池来了 手机电量将增加30%以上 墓地没人却传来哭声男子被吓傻 真相让人哭笑不得 *ST保千17名高管遭证监会调查 尚有6亿募资未归还 海南发展总部经济8问8答:为何房地产不在范围内 大乐透头奖开3注996万2注追加 奖池达61.75亿 华为首发5G商用芯片巴龙5G01:峰值速度2.3Gbp… 卡帅重掌恒大在磨合与对决中开窍 后发制人更靠谱 新京报谈“北大口红”:没“北大”只有“想红” 怎么白手起家 加盟什么店最赚钱 怎么样白手起家 笨蛋也能年赚100万 AG亚游集团