首页 > 代码库 > js中事件冒泡和事件捕获
js中事件冒泡和事件捕获
什么时候存在这种问题?
当一个行为触发了多个对象的事件时。
<body>
<div class="fa">
<div class="son1">
<div class="son2"></div>
</div>
</div>
<script type="text/javascript">
var fa = document.getElementsByClassName(‘fa‘)[0];
var son1 = document.getElementsByClassName(‘son1‘)[0];
var son2 = document.getElementsByClassName(‘son2‘)[0];
fa.addEventListener("click",function(e){console.log(‘fa‘);e.stopPropagation();},true);
son1.addEventListener(‘click‘,function(){console.log(‘son1‘)},false);
son2.addEventListener(‘click‘,function(){console.log(‘son2‘)},true);
</script>
addEventListener第三个参数不写时默认为false,true代表在事件捕获阶段执行,false代表在事件冒泡阶段执行。
e.stopPropagation()可以让一个行为只执行一个对象的事件。
js中事件冒泡和事件捕获
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。