• 事件冒泡


    事件冒泡是指当一个元素上的事件被触发的时候,比如说鼠标点击了一个按钮,同样的事件将会在那个元素的所有祖先元素中被触发。这 一过程被称为事件冒泡;这个事件从原始元素开始一直冒泡到DOM树的最上层。  

    事件有三个阶段:捕获和冒泡不可能同时
    * 1.事件捕获阶段(eventPhase=1) 从外向内(true)
    * 2.事件目标阶段(eventPhase=2)
    * 3.事件冒泡阶段(eventPhase=3) 从内向外(false) 一般默认冒泡

    一般事件的流程是:事件捕捉—>目标元素发生事件—>事件冒泡。但是不是所有的事件和click事件都一样是冒泡的??

    可以在监听事件的回调函数里面通过console.log打印事件参数event对象的bubbles属性,返回值true是可冒泡 false不冒泡。

    不支持冒泡的事件有哪些呢?

    blur、focus、load、unload 、以及自定义的事件。

    原因是在于:这些事件仅发生于自身上,而它的任何父节点上的事件都不会产生,所有不会冒泡。

    /* 阻止事件冒泡:
    * window.event.canceBubble=true; IE和谷歌支持,火狐不支持
    * e.stopPropagation(); 谷歌和火狐支持,IE不支持
    * */
    事件参数e在IE8的浏览器中是不存在的,用window.event来代替
     
  • 相关阅读:
    JS运动基础
    用setTimeout模拟QQ延时提示框
    jQuery面向对象的写法
    AngularJS学习笔记
    Scrollbar的样式
    postfix/dovecot邮件服务器
    Git 命令及git服务器
    一个分页功能的实现
    SSE(Server-Sent Events)
    qq上网正常浏览器上不了网
  • 原文地址:https://www.cnblogs.com/chm-blogs/p/11234351.html
Copyright © 2020-2023  润新知