首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery事件冒泡是如何工作的?

jQuery事件冒泡是如何工作的?
EN

Stack Overflow用户
提问于 2015-04-11 14:52:26
回答 1查看 818关注 0票数 3

我有以下HTML代码:

代码语言:javascript
复制
<ul id="level1">
     <li id="level21">item1</li>
     <li id="level22">item2</li>
</ul>

我尝试使用<li>为子类jQuery做事件冒泡:

代码语言:javascript
复制
$(document).ready(function(){
    $('#level1').on('click', function(event){
         alert($(this) + ',' + event);
    });
});

此代码不会触发两个<li>类的冒泡事件。这是因为子类没有单击事件吗?我还是不明白什么时候会触发冒泡事件?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-11 16:15:50

<ul>元素正在包装<li>元素,这就是为什么当您单击其中任何一项时会触发警报。对于每个附加单击事件的DOM元素,也会发生同样的情况--所有子元素在单击时都会触发该事件(除非通过调用event.stopPropagation()来停止传播)。

就目前而言,这与事件泡沫无关。由于注释状态正确,冒泡是事件为元素触发时,然后按顺序为父元素触发。

你的评论也是正确的。如果您为li附加了一个事件,您将看到两个警报,正如您在我创建的这个小提琴中所看到的那样。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29579225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档