版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/bin470398393/article/details/72896638
最近写代码遇到一个细节的小问题,点击子元素标签不仅触发了子元素点击事件,还会执行父元素点击事件,例如:
- <li>
- <a>
- 子元素
- </a>
- <i tabclose="11" >
- 子元素
- </i>
- </li>
为li标签和i标签都添加点击事件后,当我点击i标签区域,li标签的点击事件也会触发,后来经过查询文档发现,避免这个问题只需要为i标签的点击事件上加上jquery防止事件冒泡即可,如下:$("i").on("click", "[tabclose]", function(e) {
- e.stopPropagation();//防止事件冒泡到DOM树上,也就是不触发的任何前辈元素上的事件处理函数。
- var id = $(this).attr("tabclose");
- ...
- });