zoukankan      html  css  js  c++  java
  • JavaScript事件冒泡和捕获

    • 事件捕获指的是从document到触发事件的那个节点,即自上而下的去触发事件。
    • 事件冒泡是自下而上的去触发事件。
    • 绑定事件方法的第三个参数,就是控制事件触发顺序是否为事件捕获。true,事件捕获;false,事件冒泡。默认false,即事件冒泡。

    例子

    <div id='id1'>
        <div id="id2">
            <button id='id3'>id3 按钮</button>
        </div>
    </div>
    
    var id1 = document.querySelector('#id1')
    var id2 = document.querySelector('#id2')
    var id3 = document.querySelector('#id3')
    
    // 事件冒泡
    id1.addEventListener('click', function(event){
        console.log('click id1')
    })
    id2.addEventListener('click', function(event){
        console.log('click id2')
    })
    id3.addEventListener('click', function(event){
        console.log('click id3')
        // 取消冒泡事件
        // event.cancelBubble = true
    })
    // 点击id3输出
    // click id3 
    // click id2 
    // click id1 
    
    // 事件捕获
    id1.addEventListener('click', function(event){
        console.log('capture click id1')
    }, true)
    id2.addEventListener('click', function(event){
        console.log('capture click id2')
    }, true)
    id3.addEventListener('click', function(event){
        console.log('capture click id3')
    }, true)
    // 点击id3输出
    // capture click id1
    // capture click id2
    // capture click id3
    
    
  • 相关阅读:
    BZOJ 3744 Gty的妹子序列
    BZOJ 3872 Ant colony
    BZOJ 1087 互不侵犯
    BZOJ 1070 修车
    BZOJ 2654 tree
    BZOJ 3243 向量内积
    1003 NOIP 模拟赛Day2 城市建设
    CF865D Buy Low Sell High
    CF444A DZY Loves Physics
    Luogu 4310 绝世好题
  • 原文地址:https://www.cnblogs.com/geniusrun/p/10598259.html
Copyright © 2011-2022 走看看