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来代替
     
  • 相关阅读:
    堆和栈究竟有什么区别?
    堆和栈的区别
    POJ 1528问题描述
    Facial Detection and Recognition with opencv on ios
    10个免费学习编程的好地方
    目标检测的图像特征提取之(一)HOG特征
    行人检测综述
    Introduction to Face Detection and Face Recognition
    opencv hog+svm行人检测
    苹果检测
  • 原文地址:https://www.cnblogs.com/chm-blogs/p/11234351.html
Copyright © 2011-2022 走看看