};
}else if(element.attachEvent){ element.attachEvent('on'+type,func) //不知道 }else{ element[on+type]=func; } },
//移除事件的方法
removeHandler:function(element,type,func){ //检测是否支持addEventListener 非IE678 if(element.removeEventListener){ element.removeEventListener(type,func,false); //ie678 }else if(element.detachEvent){ element.detachEvent('on'+type,func) //不知道 }else{ element[on+type]=null; } }
JavaScript事件列表
事件
onclick ondblclick onmousedown onmouseup
一般事件
onmouseover onmousemove onmouseout onkeypress onkeydown onkeyup
onabort 页面相关事
件 onbeforeunload
解说
鼠标点击时触发此事件 鼠标双击时触发此事件 按下鼠标时触发此事件 鼠标按下后松开鼠标时触发此事件 当鼠标移动到某对象范围的上方时触发此事件
鼠标移动时触发此事件
当鼠标离开某对象范围时触发此事件 当键盘上的某个键被按下并且释放时触发此事件.
当键盘上某个按键被按下时触发此事件 当键盘上某个按键被按放开时触发此事件
图片在下载时被用户中断
当前页面的内容将要被改变时触发此事件
onerror onload onmove onresize onscroll onstop oncontextmenu onunload onblur
表单相关事
件
onchange onfocus onreset onsubmit
出现错误时触发此事件 页面内容完成时触发此事件 浏览器的窗口被移动时触发此事件 当浏览器的窗口大小被改变时触发此事件 浏览器的滚动条位置发生变化时触发此事件 浏览器的停止按钮被按下时触发此事件或者正在
下载的文件被中断
当弹出右键上下文菜单时发生 当前页面将被改变时触发此事件 当前元素失去焦点时触发此事件
当前元素失去焦点并且元素的内容发生改变而触
发此事件
当某个元素获得焦点时触发此事件 当表单中RESET的属性被激发时触发此事件
一个表单被递交时触发此事件
ASCII码 他是美国标准信息交换代码
字符对应数字 0-9 48-57 A-Z 65-90 a-z 97-122
事件对象:
什么是事件对象?在事件发生时,用于记录事件相关信息的对象。
事件对象如何获取?
事件对象的成员:
IE 属性
除了上面的鼠标/事件属性,IE 浏览器还支持下面的属性:
属性 cancelBubble
描述
如果事件句柄想阻止事件传播到包容对象,必须把该属性设为 true。
fromElement
对于 mouseover 和 mouseout 事件,fromElement 引用移出鼠标的元素。
对于 keypress 事件,该属性声明了被敲击的键生成的
Unicode 字符码。对于 keydown 和 keyup 事件,它指定了被敲击的键的虚拟键盘码。虚拟键盘码可能和使用的键盘的布局相关。
keyCode
发生事件的地点在事件源元素的坐标系统中的 x 坐标和 y
offsetX,offsetY
坐标。 returnValue
如果设置了该属性,它的值比事件句柄的返回值优先级高。把这个属性设置为 fasle,可以取消发生事件的源元素的默认动作。
对于生成事件的 Window 对象、Document 对象或 Element 对象的引用。
对于 mouseover 和 mouseout 事件,该属性引用移入鼠标的元素。
事件发生的位置的 x 坐标和 y 坐标,它们相对于用CSS动态定位的最内层包容元素。
srcElement toElement x,y
标准 Event 属性
下面列出了 2 级 DOM 事件标准定义的属性。
属性 bubbles cancelable
描述
IE
F 1 1 1 1 1 1
O 9 9 9 9 9 9
W3C Yes Yes Yes Yes Yes Yes Yes
返回布尔值,指示事件是否是起泡事件类
No
型。
返回布尔值,指示事件是否可拥可取消的
No
默认动作。
返回事件传播的当前阶段。
currentTarget 返回其事件监听器触发该事件的元素。 No eventPhase target timeStamp type
返回触发此事件的元素(事件的目标节
No
点)。
返回事件生成的日期和时间。 返回当前 Event 对象表示的事件的名称。
No 6
标准 Event 方法
下面列出了 2 级 DOM 事件标准定义的方法。IE 的事件模型不支持这些方法:
方法
initEvent() preventDefault()
描述
IE F
O W3C 9 9 9
Yes Yes Yes
初始化新创建的 Event 对象的属性。 No 1 通知浏览器不要执行与事件关联的默认
No 1
动作。
No 1
stopPropagation() 不再派发事件。 阻止冒泡
特定事件对象的属性及方法
值类
鼠标相关属性名 读/写
型
描述
对于特定的鼠标事件,表示按下的鼠标按钮,该属性仅可以在mouseup与mousedown事件中访问。W3C 规定:0表示按下了左键,1表
button
Integer
示按下了中键,2表示按下了右键,相当于对于R
鼠标键从左到右进行的编号,而编号从0开始; 而IE有另外一套规定:0表示没有任何键按下,1表示左键,2表示右键,4表示中键,而其它按键的组合则只要将键码相加即可,如:同时按下左右键时button值为3
clientX clientY
Integer Integer
R R
事件发生时,鼠标在客户端区域的X坐标,客
户端区域是指页面可视区域 事件发生时,鼠标在客户端区域的Y坐标
screenX
R(IE)
Inte
R/W(W3ger
C) R(IE)
Inte
R/W(W3ger
C) Integer Inte
R R
相对于屏幕的鼠标X坐标
screenY x(仅IE) y(仅IE)
相对于屏幕的鼠标Y坐标
鼠标相对于引起事件的元素的父元素的X坐标 鼠标相对于引起事件的元素的父元素的Y坐标
ger
offsetX(仅IE) IntelayerX(仅W3C) ger offsetY(仅IE) IntelayerY(仅W3C) ger pageX(仅W3C) pageY(仅W3C)
Integer Integer
R R R R
鼠标相对于引起事件的对象的X坐标 鼠标相对于引起事件的对象的Y坐标
鼠标相对于页面的X坐标 鼠标相对于页面的Y坐标
游戏方向需要的属性。键盘属性
键盘相关属值类
读/写
性名 型 altKey ctrlKey shiftKey
Boole
an Boolean Boolean
R R R
描述
true表示按下了ALT键;false表示没有按下 true表示按下了CTROL,false表示没有 true表示按下了shift,false表示没有
Integ
keyCode
er charCode(Integ仅W3C) er
其它属性名
对于keypress事件,表示按下按钮的Unicode字
R/W(IE)
符;对于keydown/keyup事件 ,表示按下按钮的
R(W3C)
数字代号 R
在keypress事件中所按键的字符Unicode编码,如果不是字符键,则该属性为0,并且,当CapsLock打开与关闭时charCode的值也对应着大小写字母 读/写 R R R R R R/W R
描述 引起事件的元素
某些鼠标事件中(mouseover与mouseout),
鼠标所离开的元素 某些鼠标事件中(mouseover与mouseout),
鼠标所进入的元素 某些鼠标事件中(mouseover与mouseout),返回与事件的目标节点相关的节点。 如果不断触发keydown事件,则为true,否
则为false 将其设为false表示以取消事件的默认动
作
执行方法以取消事件的默认动作
值类型
srcElement(IE)
Element
target(W3C)
fromElement(仅
Element
IE) toElement(仅
IE)
Element
relatedTarget(
Element
仅W3C) repeat(仅IE) Boolean returnValue(仅
Boolean
IE) preventDefaultFunctio