zoukankan      html  css  js  c++  java
  • event事件传播规则

    参考原文:https://my.oschina.net/u/1454562/blog/205010

    event事件传播有三个阶段:捕获阶段、目标阶段、冒泡阶段

    target.addEventListener(type, listener[, options]);

    true表示该元素在事件的“捕获阶段”(由外往内传递时)响应事件;

    false表示该元素在事件的“冒泡阶段”(由内向外传递时)响应时间。

    html代码:

    <div id='d'>
            <p id='p'>
                <span id='s'>Click Me!</span>
            </p>
        </div>

    js代码:

    var div = document.getElementById('d');
        var p = document.getElementById('p');
        var span = document.getElementById('s');
    
        function onClickFn(event) {
            var tagName = event.currentTarget.tagName;
            var phase = event.eventPhase;
            console.log(tagName, phase);
        }
    
        div.addEventListener('click', onClickFn, true);
        p.addEventListener('click', onClickFn, true);
    
        span.addEventListener('click',function(){
            console.log('span')
        },true)

    如果true:

     
    (index):45 DIV 1
    (index):45 P 1
    (index):52 span

    如果为false:

    span
    (index):45 P 3
    (index):45 DIV 3
  • 相关阅读:
    poj3411
    2241 排序二叉树
    1004 四子连棋
    Poj1482
    poj2046
    Poj3087
    poj3414
    php使用flock堵塞写入文件和非堵塞写入文件
    HTML样式以及使用
    高效程序猿的狂暴之路
  • 原文地址:https://www.cnblogs.com/rengised/p/6497560.html
Copyright © 2011-2022 走看看