jquery之jquery事件处理模型(Event实例)
----------
当利用bind()命令建立的事件处理函数被调用时,Event实例作为第一个参数被传递给函数。这样就不必担心IE浏览器下的window.ovent属性,但怎么存取Event实例的有分歧的属性呢?
即便是利用jquery建立处理程序,传递到事件处理程序的Event实例也还是浏览器所定义的本地对象的克隆。这意味着在标准兼容的浏览器里,Event实例将遵循标准的属性布局;在IE浏览器里,Event实例将使用专有的属性布局。在专有的Event实例传递以事件处理程序之前,jquery竭力修正Event实例,以便使Event实例的最频繁存取的属性和方法遵循标准的格式。那么再一次,除了Event最生僻的属性之外,我们可以为事件处理程序编写代码,而无需关心浏览器平台。
安全的Event实例属性
属性 描述
altKey 当触发事件时,如果alt键已被按下,设置为true;否则设置为false。在大多数Mac键盘上,Alt键标注为option
ctrlKey 当触发事件时如果ctrl键已被按下,设置为true;否则设置为false
data 如果有值的话,就在建立处理程序时,作为第二个参数传递到bind()命令的值
keyCode 对于keyup(键上)和keydown(键下)事件,返回被按下的键。请注意对于字母符号,不管用户输入的是大写还是小写字母,返回的都是字母的大写版本。例如,a和A都返回65.可以用shiftKey属性来确定输入的是大写还是小写。对于keypress(按键)事件,请使用whick属性,因为whick属性在跨浏览器时依然是可靠的。
metaKey 当触发事件时,如果Meta键已被按下,设置true; 否则设置为false。Meta键就是PC机器在上的ctrl键,或Mac机器上的Command键
pageX 对于鼠标事件,指定事件的相对于页面原点的水平坐标
pageY 对于鼠标事件,指定事件的相对于页面原点的垂直坐标
relatedTarget 对于某些鼠标事件,标识触发事件时光标离开或进入的元素
screenX 对于鼠标事件,指定事件的相对于屏幕原点的水平坐标
screenY 对于鼠标事件,指定事件的相对于屏幕原点的垂直坐标
shiftKey 当触发事件时如果shift键已被按下,设置为true,否则设置为false。
target 标识在哪个元素上事件被触发
type 对于所有的事件,指定已触发的事件的类型(例如click)。如果你利用单个事件处理函数来处理多个事件,这个属性就能派上用场。
which 对于键盘事件,指定触发事件的键的数字编码;对于鼠标事件,指定按下的是哪个鼠标键(1:左,2:中,3:右)。应该利用whick属性而不是buttonn属性,因为不能指望button属性以一对待的方式跨越多种浏览器