JavaScript是一种基于对象(Object)和 事件驱动(Event Driven) 并具有安全性能的脚本语言。

JavaScriptHTML之间的交互就是通过一系列的事件来实现的。


一. 什么是事件

JavaScriptHTML之间的交互是通过事件实现的,

事件就是文档或浏览器窗口中发生的一些特点的交互瞬间,

可以使用侦听器或处理程序来预订事件,以便事件发生时执行相应的代码.

事件,就是用户或者是浏览器执行的某种动作。

比如:clickload等都是事件的名字。


二. 事件流

事件流描述的是从页面中接收事件的顺序。 有两种事件流:冒泡流和捕获流

2.1 冒泡流

IE 的事件流 叫做事件冒泡(event bubbling),

即事件开始时由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播到较为不具体的节点(文档)。

<!DOCTYPE html>
<html>
  <head>
      <title>Event Bubbling Example</title>
  </head>
  <body>
      <div id="myDiv">Click Me</div>
  </body>
</html>

现在点击div元素,则事件的传播顺序是冒泡的方式从底层向上传播


2.2 捕获流

Netscape Communicator团队提出的另一种事件流叫做事件捕获(event capturing)。

事件捕获的思想是不太具体的节点应该更早接收到事件,而最具体的节点应该最后接收到事件。


2.3 DOM事件流

DOM2级事件规定的事件流包括三个阶段:

  • 事件捕获阶段、

  • 处于目标阶段

  • 事件冒泡阶段。

首先发生的是事件捕获,为截获事件提供了机会。

然后是实际的目标接收到事件。

最后一个阶段是冒泡阶段,可以在这个阶段对事件做出响应。

注意:IE9、Opera、Firefox、Chrome 和 Safari 都支持 DOM 事件流;IE8 及更早版本不支持 DOM 事件流。

目前所有的浏览器默认都是在冒泡阶段触发,当然我们也可以更改触发阶段。(dom2级事件处理程序)

Copyright © 李振超 2018 all right reserved,powered by Gitbook
该文件最后修订时间: 2018-10-18 03:19:29

results matching ""

    No results matching ""