首页 > 代码库 > 第十三章——事件对象
第十三章——事件对象
在触发DOM的某个事件上,会产生一个事件对象event,这个对象包含着所有与事件相关的信息。
DOM中的事件对象
兼容DOM的浏览器会将一个event对象传入到事件处理程序中,无论指定事件处理程序使用什么方法(DOM0级,DOM2级),都会传入event对象。
event对象包含着与创建它的特定事件有关的属性和方法。触发的事件类型不一样,可用的属性和方法也不一样。如下,是所有事件都有的成员:
在事件处理函数内部,this始终等于currentTarget的值,而target则只包含事件的实际目标。
如果直接将事件处理程序指定给了目标元素,则this,currentTarget和target包含相同的值。
这里点击a标签的时候,相应的this的值和target,currentTarget的对象分别如上图所示。
在需要通过一个函数处理多个事件时候,可以使用type属性。
如上例子:
设置event.stopPropagation(),这样点击test后,就只出现一个提示框。从而避免触发了注册在body上面的click事件,阻止了click事件的冒泡。
否则的话,就会出现两次提示框。
事件对象eventPhase属性,可以用来确认事件当前处于事件流的哪个阶段。
执行顺序可以参考DOM2级事件流。
在这里如果更改addEventListener为冒泡事件,则执行顺序,会发生变化:
第十三章——事件对象
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。