事件委托on()里面阻止事件冒泡

1.为动态添加的元素添加事件时,直接给元素添加事件,由于找不到动态添加的元素而报错;

解决:使用事件委托的方式,给其父元素添加事件,前提父元素不是动态添加的;

$("#table tbody").on("click",".child",function(){

    //做一些操作

})

2.事件委托时阻止事件冒泡有可能失效

原因:on方法的元素操作的是父元素($("#table tbody")),而非.child子元素,所以事件执行的时候依然会冒泡到tbody元素,tr上如果添加了点击事件也会执行

解决方案:再包一层父元素,找到没有添加事件的元素来进行事件委托,如$("#table tbody tr td"))

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

推荐阅读更多精彩内容

  •   JavaScript 与 HTML 之间的交互是通过事件实现的。   事件,就是文档或浏览器窗口中发生的一些特...
    霜天晓阅读 3,581评论 1 11
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,911评论 1 45
  • 目标:9月1日~30日财富目标收入5000元,回收货款5000元(已完成) 计划:今晚开始正式和宋桓姐结为业力伙伴...
    心翼_1a04阅读 159评论 0 0
  • 俗话说,行为养成习惯,习惯形成品质,品质决定命运。叶圣陶也曾说:“什么是教育,简单一句话,就是要养成良好的习惯”,...
    忍神阅读 156评论 0 0
  • 9.3反省 事件一:想买个包,于是在淘宝上逛啊逛,逛了很久无果 情绪:纠结 念头:我要买个质量好一点的不要像上次在...
    心芳疗阅读 241评论 0 0