码迷,mamicode.com
首页 > Web开发 > 详细

js事件相关知识

时间:2015-08-26 22:07:11      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:

事件

事件就是用户或浏览器自身执行的某种动作,如click、load等,都是事件的名字。而响应某个事件的函数就是事件处理程序或事件侦听器,通常以“on+事件名字”命名,如onclick、onload。

事件最早是在IE3和Netscape Navigator2中出现的,当时是作为分担服务器运算负载的一种手段。在IE4和Navigator4发布时提供了相似但不相同的API。

事件流

从页面中接收事件的顺序。IE和Netscape开发团队提出了差不多是完全相反的事件流的概念。IE提出的是事件冒泡流,Netscape提出的是事件捕获流。

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

事件捕获(event capturing),则与事件冒泡流思想相反,即事件开始由不太具体的节点接收,然后逐一向下传播到最具体的元素。它的用意在于事件到达预订目标之前捕获它。

区别:

概念:差不多相反的思想;

范围:所有的现代浏览器都支持事件冒泡,不同浏览器在具体实现上有所差别;事件捕获是Netscape Communicator唯一支持的事件流模型,但IE9、Safari、Chrome、Opera和Firefox目前也都支持这种事件流模型,但老版本的浏览器不支持。所以建议放心地使用事件冒泡,在有特殊需要时再使用事件捕获。

DOM事件流

“DOM2级事件”规定的事件流包括三个阶段:事件捕获阶段、处于目标阶段和事件冒泡阶段。首先发生的是时间捕获,为截获事件提供了机会,然后是实际目标接收到时间,最后是冒泡阶段,对事件作出响应。

“DOM2级事件”规范明确要求捕获阶段不会涉及事件目标,但IE9、Safari、Chrome、Firefox和Opera9.5以及更高版本都会在捕获阶段触发事件对象上的事件。结果就是有两个机会在目标对象上面操作事件。

 

js事件相关知识

标签:

原文地址:http://www.cnblogs.com/huangyx/p/4761512.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!