dom事件模型级别

到目前为止,DOM事件模型分为三个等级,分别是0级、1级、2级。

 

0级是最早的,而且目前所有的浏览器仍支持0级DOM模型。

0级模型的注册事件,就是我们经常见到的,如:

<input type="button" οnclick="buttonClick()"/>

 

2级的典型特点是事件传播的阶段,(捕获阶段,直接目标阶段,起泡阶段),注意在第三个阶段“起泡阶段”在IE6中不支持。

在事件传播的过程中,可以随时用Event对象的stopPropagation()方法停止事件传播。

另外如<a>标签的href属性,是在三个事件阶段执行后,触发的href跳转,如果想阻止跳转,可以使用Event对象的preventDefault()方法阻止默认动作发生。

 

另外0级及2级的最主要区别还有一点:

0级只能为一些特定对象的特定类型的事件注册一个事件监听,但在2级模型中可以为特定对象的事件注册多个事件监听。

 

 

2级模型的Event接口的属性:

type: 发生的事件的类型。该属性的值是事件类型名,与注册事件处理程序时使用的字符串值相同(例如,“click"或“mouseover“)。


target: 发生事件的节点,可能与currentTarget不同。


currentTarget: 发生当前正在处理的事件的节点(如当前正在运行事件处理程序的节点)。如果在传播过程的捕捉阶段或起泡阶段处理事件,这个属性的值就与target属性的值不同。


eventPhase: 一个数字,指定了当前所处的事件传播过程的阶段。它的值是常量,可能值包括Event.CPATURING_PHASE,Event.AT_TARGET或Event.BUBBLING_PHASE。


timeStamp: 一个Date对象,声明了事件何时发生。


bubbles :一个布尔值,声明该事件(和这种类型的事件)是否在文档树中起泡。


cancelable: 一个布尔值,声明访事件是否具有能用preventDefault()方法取消默认动作。


除了这七个属性外,Event接口还定义了两个方法,即stopPropagation()和preventDefault(),所有事件对象都实现了它 们。调用stopPropagation()方法可以阻止事件从当前在处理它的节点传播。任何事件处理程序都可以调用preventDefault() 方法阻止浏览器执行与事件相关的默认动作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值