欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

Jquery实现点击子元素标签只触发子元素点击事件,不触发父元素点击事件 阻止冒泡 有大用

Jquery实现点击子元素标签只触发子元素点击事件,不触发父元素点击事件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/bin470398393/article/details/72896638

      最近写代码遇到一个细节的小问题,点击子元素标签不仅触发了子元素点击事件,还会执行父元素点击事件,例如:

  1. <li>
  2. <a>
  3. 子元素
  4. </a>
  5. <i tabclose="11" >
  6. 子元素
  7. </i>
  8. </li>
为li标签和i标签都添加点击事件后,当我点击i标签区域,li标签的点击事件也会触发,后来经过查询文档发现,避免这个问题只需要为i标签的点击事件上加上jquery防止事件冒泡即可,如下:

$("i").on("click", "[tabclose]", function(e) {
  1. e.stopPropagation();//防止事件冒泡到DOM树上,也就是不触发的任何前辈元素上的事件处理函数。
  2. var id = $(this).attr("tabclose");
  3. ...
  4. });

来自  https://blog.csdn.net/bin470398393/article/details/72896638

普通分类: