今天终于找到事件这个接口,以前经常见,却不了解。今天在JavaScript权威指南上终于找到了。
Event接口包括两个子接口UIEvent和MouseEvent。
Event接口定义了如下的属性,注意这些属性只读的。
type:发生事件的类型。如“click”
target:发生事件的节点
currentTarget:发生当前正在处理的事件(如当前正在运行的事件句柄的节点)
eventPhase:一个数字,指定了当前事件传播过程的阶段。他的值是个常量。可能包括Event.CAPTURING,Event.AT_TARGET或Event.BUBBLING_PHASE
timeStamp:一个Date对象,声明了事件何时发生
bubbles:一个布尔值,声明改事件是否在文档书中气泡
cancelable:一个布尔值,声明事件是否具有能用preventDefault()方法取消默认动作
此外,Event接口还定义的两个方法:stopPropagation()和preventDefault()
MouseEvent接口继承了Event接口的所有属性和方法,还定义了一下属性:
button:一个数字。0表示左键,1表示中间键,2表示右键,这个属性只有在鼠标键状态改变时使用
altKey,ctrlKey,metaKey,shiftKey:是否按住了Alt,Ctrl,Meta,Shift.
clientX,clientY:这两个属性表明鼠标指针相对于客户区或浏览器窗口的X坐标和Y坐标,注意这两个坐标不考虑文档滚动。
screenX,screenY:这两个属性声明了鼠标相对于用户显示器左上角x坐标和y坐标。
relatedTarget:该属性引用于事件的目标节点相关的节点,只对mouseover和mouseout事件有用。