jQuery委托事件

参考:.on()

众多历史问题(如.live()),不一一说明,只想说,我们给一个对象绑定事件的时候可以用如下方式:
<code>
$( "#dataTable tbody tr" ).on( "click", function() {
console.log( $( this ).text() );
});
</code>
但是,这个用法有个局限性,就是你要绑定事件的对象必须在DOM当中已经存在(加载完成),否则事件就绑不上去。为了解决这个局限性,我们可以使用委托事件,代码如下:
<code>
$( "#dataTable tbody" ).on( "click", "tr",function() {
console.log( $( this ).text() );
});
</code>
也就是说,.on前面的对象是一定存在的,当点击tr元素时,事件会向上冒泡到tbody。

委托事件,除了有上面这个好处外,还有一个好处就是:
加入有1000个tr,第一种方式会给这个10000个tr都绑上click事件,而第二种方式只会给tbody绑上click事件,每一个tr通过冒泡到tbody即可实现click事件啦!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 说说库和框架的区别? 类库是实现各种功能的类的集合,可以帮助编程人员简化工作,提高工作效率。就像一个小的工具...
    黄露hl阅读 161评论 0 1
  • dom对象的innerText和innerHTML有什么区别?Node.innerText这个API不是W3C标准...
    老虎爱吃母鸡阅读 461评论 0 0
  • 牙缝里抠出的爱 ■老吴 母亲是家庭主妇,打我们记事时起,家里的“财政大权”就握在母亲手中。一家老老少少八张嘴,吃...
    老吴所求阅读 622评论 27 23
  • 三四月份初入群的时候,某一次在某个话题里面说自己最近事情很多很疲惫,群友小面包第一时间给我私发消息关心问候,这是我...
    宵汀阅读 404评论 13 15
  • 活到了20岁,却想叫个“苦”字。苦,自然是心里苦。 前几天父亲意外去世,一家人天天以泪洗脸。哀怨上天的不公,上帝的...
    两个朋友阅读 107评论 0 0