我是jQuery的新手,正在努力理解事件捕获和冒泡的概念。
我已经阅读了很多文章,但大多数都是描述JavaScript的事件传播。
假设我们有以下HTML代码:
<div id="outer">
outer
<div id="inner">
inner
</div>
</div>
捕获阶段是我们向下遍历DOM元素的阶段,而冒泡则是我们向上遍历的阶段。
在JavaScript中,您可以决定要按哪个方向遍历DOM(使用true或false参数):
element.addEventListener('click', doSomething, true) --> capture phase
element.addEventListener('click', doSomething, false) --> bubble phase
除了使用 JavaScript 的方法之外,jQuery 是否有类似的方法来指示应该按哪个方向执行操作?
另外,jQuery 是否使用默认阶段?例如冒泡?
因为我使用以下代码进行了测试:
css
<style>
div {
border: 1px solid green;
width: 200px;
}
</style>
jQuery
<script>
$(document).ready(function(){
$('div').click(function(){
$(this).animate({'width':'+=10px'},{duration: 3000})
});
});
</script>
当我点击外部div时,只有该div会动画到较大的div。当我点击内部div时,两个div都会动画到较大的div。看起来默认的浏览器传播方法是冒泡。
如果我错了,请纠正我。