JavaScript事件流

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

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

图片引用其他文章, 我忘记了是哪篇了...
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容