• 冒泡、捕获


     1 var father = document.getElementById('father');
     2     var btn = document.getElementById('btn');
     3 
     4     btn.addEventListener('click', function (event) {
     5         // 阻止冒泡
     6         if(event && event.stopPropagation){ // w3c标准
     7             event.stopPropagation();
     8         }else{ // IE系列 IE 678
     9             event.cancelBubble = true;
    10         }
    11 
    12        alert('点击了按钮');
    13     });
    14 
    15     father.addEventListener('click', function (ev) {
    16         // 阻止冒泡
    17         if(event && event.stopPropagation){ // w3c标准
    18             event.stopPropagation();
    19         }else{ // IE系列 IE 678
    20             event.cancelBubble = true;
    21         }
    22 
    23         alert('点击了父标签');
    24     });
    25 
    26     document.addEventListener('click', function (ev) {
    27         alert('点击了文档');
    28     });
    29 
    30 //阻止冒泡的兼容
     1  /*
     2       element.addEventListener(event, function, useCapture)
     3       可选。布尔值,指定事件是否在捕获或冒泡阶段执行。
     4 
     5     可能值:
     6     true - 事件句柄在捕获阶段执行   先触发父--子
     7     false- false- 默认。事件句柄在冒泡阶段执行   先触发  子--父
     8     */
     9 
    10     var father = document.getElementById('father');
    11     var btn = document.getElementById('btn');
    12 
    13     btn.addEventListener('click', function (event) {
    14         alert('点击了按钮');
    15     }, true);
    16 
    17     father.addEventListener('click', function (ev) {
    18         alert('点击了父标签');
    19     }, true);
    20 
    21     document.addEventListener('click', function (ev) {
    22         alert('点击了文档');
    23     }, true);

    捕获阶段不能阻止冒泡

  • 相关阅读:
    何谓算法
    大规模Web服务开发技术
    什么是依赖,什么是抽象
    智能Web算法
    算法评测
    好代码、坏代码之四
    SVN server setup 1
    Python正则表达式操作指南(re使用)(转)
    rpm package installation
    mysql install error:Make had returned bad status, install seems impossible
  • 原文地址:https://www.cnblogs.com/zhangzhengyang/p/11216671.html
Copyright © 2020-2023  润新知