Eventhtml
事件对象中target对象和currentTarget对象的区别post
一、target在事件流的目标阶段; currentTarget在事件流的捕获、目标和冒泡阶段url
二、event.currentTarget指向事件所绑定的元素;event.target指向事件发生时的元素spa
三、事件真正的发送者是 event.target(可变的(点击不一样子元素结果不一样));注册侦听器的是event.currentTarget(不会变).net
四、Google浏览器,支持srcElement和target,这两个标签本质相同htm
Firefox只支持 target标签对象
注册事件侦听器blog
三种方式为DOM元素注册事件处理函数
EventTarget.addEventListener
element.attachEvent()(IE6-8)
HTML属性
DOM元素属性
DOM Event接口
属性:
event.bubbles(只读) 事件是否在DOM中冒泡
event.cancelable(只读) 事件是否能够取消
event.currentTarget(只读) 当前注册事件的对象引用(不变化)
即:代码书写时绑定事件的DOM元素,当将相同事件处理程序附加到多个元素时,能够区分被绑事件的元素
event.target(只读) 事件起源目标的引用(变化)
//IE 6~8 element.attachEvent()绑定事件监听器,e.srcElement等价于 e.target
var target = e.target || e.srcElement;
event.type(只读) 事件的类型(不区分大小写)
event.eventPhase 事件阶段常量
0(NONE 没有事件被处理)、1(CAPTURING_PHASE 捕获阶段)二、(AT_TARGET 目标阶段)三、(BUBBLING_PHASE冒泡阶段)
方法:
event.initEvent 给被建立的事件初始化某些值
event.preventDefault 取消事件(若该事件可取消)
若事件可取消,则取消该事件,而不中止事件的进一步传播。
event.stopPropagation 阻止捕获和冒泡阶段中 当前事件的进一步传播
mousedown--->mouseup--->click
keydown--->keyup--->keypress