事件传播

事件的默认传播机制
-> 捕获阶段: 从外向内依次查找元素
-> 目标阶段: 当前事件源本身的操作
-> 冒泡阶段: 从内到外依次触发相关行为(最常用的就是冒泡阶段)

使用DOM 0级事件绑定给元素的某一个行为绑定的方法,都是在行为触发后的冒泡阶段把方法执行的。

    outer.onclick = function (e) {
        console.log('outer');
        console.log(e);
    }
    inner.onclick = function (e) {
        console.log('inner');
        console.log(e);
    }
    center.onclick = function (e) {
        console.log('center');
        console.log(e);
    }
    document.body.onclick = function (e) {
        console.log('body');
        console.log(e);
    }

addEventListener: 第一个参数是行为的类型, 第二个参数是给当前的行为绑定的方法, 第三个参数是控制在哪个阶段发生: true -> 在捕获阶段发生, false -> 在冒泡阶段发生。

    document.body.addEventListener('click', function (e) {
        console.log('body');
        console.log(e);;
    }, false);

    outer.addEventListener('click', function (e) {
        console.log('body');
        console.log(e);;
    }, true);

    inner.addEventListener('click', function (e) {
        console.log('body');
        console.log(e);;
    }, false);

你可能感兴趣的:(事件传播)