• 事件冒泡


    事件冒泡是指当一个元素上的事件被触发的时候,比如说鼠标点击了一个按钮,同样的事件将会在那个元素的所有祖先元素中被触发。这 一过程被称为事件冒泡;这个事件从原始元素开始一直冒泡到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来代替
     
  • 相关阅读:
    C#时间格式转换问题(12小时制和24小时制)
    ajax跨域请求webservice webconfig配置
    C#时间戳转化为DateTime
    C#生成缩略图
    codeforces-1348-C Phoenix and Distribution
    P4314 CPU监控
    YangK's dfs序与树链剖分
    Yangk's 静态主席树
    P2253 好一个一中腰鼓!
    codeforces-1341D-Nastya and Scoreboard 记忆化搜索
  • 原文地址:https://www.cnblogs.com/chm-blogs/p/11234351.html
Copyright © 2020-2023  润新知