zoukankan      html  css  js  c++  java
  • 事件冒泡

    事件冒泡是指当一个元素上的事件被触发的时候,比如说鼠标点击了一个按钮,同样的事件将会在那个元素的所有祖先元素中被触发。这 一过程被称为事件冒泡;这个事件从原始元素开始一直冒泡到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来代替
     
  • 相关阅读:
    memcached启动参数
    Shell 获取当前执行脚本的路径
    linux 下 openssl 编译和交叉编译
    网站更换域名
    linux访问windows共享文件夹
    linux下安装NPM管理工具
    快速构建C++项目工具Scons,结合Editplus搭建开发环境
    C++ Config 配置文件类
    iOS代码Button Demo
    (转)iOS面试题目
  • 原文地址:https://www.cnblogs.com/chm-blogs/p/11234351.html
Copyright © 2011-2022 走看看