JavaScript事件流

JavaScript事件流主要有冒泡事件和捕获事件
DOM事件流同时支持者两种事件捕获
现在统一标准是先捕获再冒泡

JavaScript事件流_第1张图片
image-20190527214252339

addEventListener有三个参数:第三个参数就是设定为事件捕获还是冒泡

true为事件捕获

false为事件冒泡

element.addEventListener(event, function, useCapture)

例如:

    Button.addEventListener("click",function(e){
        // ......
    },false);

事件冒泡

比如子元素点击了, 没有触发点击事件的话就会冒泡到上一层父元素触发其点击事件

阻止事件冒泡使用e.stopPropagation()ie下使用cancelBubble = true

事件捕获

是从上往下层捕获事件的, 父元素先触发子元素后触发

阻止事件捕获使用e.preventDefault(), ie下设置window.event.returnValue = false

JavaScript事件流_第2张图片
图片引用其他文章, 我忘记了是哪篇了...

你可能感兴趣的:(JavaScript事件流)