javascript - 事件冒泡和捕获的问题。

查看:83
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆