javascript - 事件冒泡和捕获的问题。
本文介绍了javascript - 事件冒泡和捕获的问题。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
请问大神们,我在最外层div加个点击事件,里面放个a标签,点击a标签也可以产生冒泡到外层div?是因为它属于外层div的原因么?
难道不是需要两个都绑定事件,里层才能冒泡到最外面来么?
那么反之事件捕获呢? 小白不太理解。。。
解决方案
请问大神们,我在最外层div加个点击事件,里面放个a标签,点击a标签也可以产生冒泡到外层div?
是的。
是因为它属于外层div的原因么?
因为在结构上,它们是有层级关系的(父子关系)。
难道不是需要两个都绑定事件,里层才能冒泡到最外面来么?
不是。
那么反之事件捕获呢? 小白不太理解。。。
一样的。
理解的时候,注意想明白,节点范围的大小就行了,事件触发一定是不能跳过大节点的嘛。
<!DOCTYPE html>
<html lang="zh-cmn-Hans">
<head>
<meta charset="utf-8" />
<title>事件</title>
<link rel="stylesheet" type="text/css" href="" />
</head>
<body>
<div id="out" style="background-color: yellow;">
<div id="middle" style="background-color: red; width: 50%;">
<a href="#" id="inner" style="background-color: green;">里面的东西</a>
</div>
</div>
<script type="text/javascript">
// 下传, 捕捉
document.getElementById('out').addEventListener('click', function(e){
console.log('1');
}, true);
// 上浮, 冒泡
document.getElementById('out').addEventListener('click', function(e){
console.log('2');
}, false);
</script>
</body>
</html>
这篇关于javascript - 事件冒泡和捕获的问题。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文