jquery关于事件的绑定 本帖最后由 cpu220 于 2014-05-12 23:10:25 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 live 自 1.9.0 起已废止,代之以 on。但写法区别很大click 只对随页面加载的元素有效第三种方法没有利用到 jquery 框架的性能三种方法有着各自不同的适用对象,目标不同不可做效率对比 你要想在写法更优,建议$('ul li').on();因为在jquery 1.7版本之后,所有的事件绑定的主入口函数是这个。就算click,bind('click',fn);最终还是走的on这条线。你要想在性能上最优,建议使用事件委托。$('ul').on('click','li',fn);是不是委托简单性能比较:http://www.cnblogs.com/aaronjs/p/3440647.html然后在看看你的写法,live已经在新版中被干掉了,click走on这条线。append只是一个添加dom结构,这种变相的事件绑定风险很大,且不易维护。 我用的是jquery1.4.2版本,对于楼主上述三种方式,其实前两种是符合jquery规范的,第三种建议不要用了。此外,第一种live()方式绑事件和第二种方法(实际上是bind()方式绑定事件)区别主要在于,对于动态添加的元素,只能用live()方法绑定事件比如你$(xxx).append("<li id='ttt'></li>");那么对这个$("#ttt")绑定事件时,只能用live() 推荐第一种,属于事件委托第二种属于常规绑定第三种建议不要用,就是跟你直接写DOM里面一个样,不易维护比如第二种常规的绑定,jQuery触发事件后会从你绑定时间的DOM层一层一层冒泡,如果是动态添加的元素就无法触发该事件而用第一种的话,属于事件委托,事件直接委托在DOM底层,省去了冒泡的时间,提高了执行效率,且可以触发动态添加的元素另外,如楼上所讲,live在新版本应被干掉了i 谁有这样的JS,会员登陆提示 求一个正则表达式。在线等。急。 Javascript切换各frame间的focus 问题 谁有我的RP烂?请进!看史上最郁闷的JS问题!(不求解决了~!) 怎么实现将word内容导入网页上的textarea中(来者有分) 有关刷新的问题。 坚持了好几天,总算网站开张了!因为要离开一段时间,散分! 100分问:js中嵌套struts<bean:write>时,提示缺少对象 打印预览中的定位问题? 请问如何从select中删除option初学者 急 Easy UI 等待界面如何做呀? js加载dom不显示数据..求助
click 只对随页面加载的元素有效
第三种方法没有利用到 jquery 框架的性能三种方法有着各自不同的适用对象,目标不同不可做效率对比
你要想在性能上最优,建议使用事件委托。$('ul').on('click','li',fn);
是不是委托简单性能比较:
http://www.cnblogs.com/aaronjs/p/3440647.html然后在看看你的写法,live已经在新版中被干掉了,click走on这条线。append只是一个添加dom结构,这种变相的事件绑定风险很大,且不易维护。
那么对这个$("#ttt")绑定事件时,只能用live()
第二种属于常规绑定
第三种建议不要用,就是跟你直接写DOM里面一个样,不易维护比如第二种常规的绑定,jQuery触发事件后会从你绑定时间的DOM层一层一层冒泡,如果是动态添加的元素就无法触发该事件
而用第一种的话,属于事件委托,事件直接委托在DOM底层,省去了冒泡的时间,提高了执行效率,且可以触发动态添加的元素另外,如楼上所讲,live在新版本应被干掉了i