zoukankan      html  css  js  c++  java
  • JS事件流理解

    事件是用户或浏览器自身执行的某种动作,如click,load和mouseover都是事件的名字。

    事件是javaScript和DOM之间的桥梁。

    你若触发,我便执行——事件发生,调用它的处理函数执行相应的JavaScript代码给出响应。

    典型的例子有:页面加载完毕触发load事件;用户单击元素,触发click事件。

    事件发生时会在元素节点与根节点之间按照特定的顺序传播,路径所经过的所有节点都会收到该事件,这个传播过程即DOM事件流。

    事件传播的顺序对应浏览器的两种事件流模型:捕获型事件流和冒泡型事件流。

    冒泡型事件流:事件的传播是从最特定的事件目标到最不特定的事件目标。即从DOM树的叶子到根。

    捕获型事件流:事件的传播是从最不特定的事件目标到最特定的事件目标。即从DOM树的根到叶子。

    1)、所有现代浏览器都支持事件冒泡,但在具体实现中略有差别:

    IE5.5及更早版本中事件冒泡会跳过<html>元素(从body直接跳到document)。

    IE9、Firefox、Chrome、和Safari则将事件一直冒泡到window对象。

    2)、IE9、Firefox、Chrome、Opera、和Safari都支持事件捕获。尽管DOM标准要求事件应该从document对象开始传播,但这些浏览器都是从window对象开始捕获事件的。

    3)、由于老版本浏览器不支持,很少有人使用事件捕获。建议使用事件冒泡

  • 相关阅读:
    Java8性能优化之字符串拼接
    Java8字符串分割的几种方式及性能比较
    【Collections:集合工具类:常用方法】
    【ArrayList嵌套HashMap】
    【集合工具类:Collections】
    【HashMap 嵌套 HashMap】
    【HashMap 嵌套 ArrayList】
    【TreeMapDemo】
    【LinkedHashMap】
    【TreeMap】
  • 原文地址:https://www.cnblogs.com/frontendnotes/p/6417484.html
Copyright © 2011-2022 走看看