首页 > 编程语言 > 详细

二、JavaScript语言--事件处理--DOM事件探秘

时间:2016-03-31 01:48:36      阅读:161      评论:0      收藏:0      [点我收藏+]

第一章 事件流

  事件:是文档或浏览器窗口中发生的、特定的交互瞬间。JavaScript和HTML之间的交互都是通过事件来实现的。

  事件流:描述的是从页面中接受事件的顺序

  IE:事件冒泡流

  Netscape:事件捕获流

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

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

第二章 事件处理程序

  1、HTML事件处理程序

  HTML事件的缺点:HTML和JS代码紧密的耦合在一起。如果需要改事件处理程序,JS代码和HTML都需要进行修改。

  例子:

  技术分享

  2、DOM0级事件处理程序

  较传统的方式:把一个函数赋值给一个事件的处理程序属性。是用的比较多的方法,原因是简单,有跨浏览器的优势。没有HTML事件的缺点。优点:可以给一个元素添加多个事件处理程序,按顺序执行。

  例子:

  技术分享

  3、DOM2级事件处理程序

  DOM2级事件定义了两个方法:

  用于处理指定和删除事件处理程序的操作

  addEventListener()和removeEventListner()

  接收三个参数:

  语法为:

  element.addEventListener(type,listener,useCapture)

  要处理的事件名、作为事件处理程序的函数和布尔值(true-->表示在捕获阶段调用事件处理程序,false-->表示在冒泡阶段调用事件处理程序(可以兼容各种浏览器))。

  •其中element是要绑定函数的对象。
  •type是事件名称,要注意的是"onclick"要改为"click","onblur"要改为"blur",也就是说事件名不要带"on"。
  •listener当然就是绑定的函数了,记住不要跟括号
  •最后一个参数是个布尔值,表示该事件的响应顺序

  优点:可以给一个元素添加多个事件处理程序,按顺序执行。

  注意:用addEventListener()添加的事件,只能用removeEventListner()移除。且在IE中不好使。

  例子:

  技术分享  

  4、IE事件处理程序

  attachEvent()添加事件

  detaEvent()删除事件

  接收相同的两个参数:事件处理程序的名称(事件需要把on加上)和事件处理程序的函数

  不使用第三个参数的原因:IE8以及更早的浏览器版本只支持事件冒泡。

  支持IE事件处理程序的浏览器:IE和OPERA

  例子:

  技术分享

  注意:从IE11开始,已经开始DOM2级事件处理程序,而不再使用IE事件处理程序。

  5、跨浏览器的事件处理程序

  

 

二、JavaScript语言--事件处理--DOM事件探秘

原文:http://www.cnblogs.com/jiangtengteng/p/5339536.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!