事件对象| jqueryAPI 2.2 中文手册- AspRain.cn 致力于Web开发技术翻译整理

jQuery API 2.2.0

事件对象

jQuery的事件系统根据W3C standards规范化了事件对象。该事件对象确保能够传递给事件处理函数。很多来自原始事件的属性被复制过来,并规范化到新的事件对象中。

jQuery.Event构造器

jQuery.event构造器是曝露的,而且能够在调用.trigger()时使用。操作符new是可有可无的。

检查.trigger()的文档,以查看如何把它与你自己的事件对象组合起来。

示例:

//不用“new” 操作符创建一个jQuery.Event 对象。
var e = jQuery.Event( "click" );
 
// 触发一个仿造的点击事件
jQuery( "body" ).trigger( e );

自从jQuery 1.6,你可以向jQuery.Event()传递一个对象,而且它的属性会被设置在新创建的Event对象上。

示例:

// 用指定的事件属性创建一个新的jQuery.Event对象。
var e = jQuery.Event( "keydown", { keyCode: 64 } );
 
// 用keyCode 64触发一个仿造的按键事件
jQuery( "body" ).trigger( e );

事件属性

jQuery规范化了下面的属性,以实现跨浏览器一致性:

  • target
  • relatedTarget
  • pageX
  • pageY
  • which
  • metaKey

以下的属性也可以复制到事件对象,虽然它们有些值可能是undefined,取决于事件本身:

altKey、bubbles、button、buttons、cancelable、char、charCode、clientX、clientY、ctrlKey、currentTarget、data、detail、eventPhase、key、keyCode、metaKey、offsetX、offsetY、originalTarget、pageX、pageY、relatedTarget、screenX、screenY、shiftKey、target、toElement、view、which

其它属性

某些事件可能具有特有的属性。这些可以作为event.originialEvent对象的属性来访问。

示例:

// 给原生的`drop`事件添加dataTransfer属性。
// 以捕捉拖拽到浏览器窗口的文件的信息。
jQuery.event.props.push( "dataTransfer" );

处于事件冒泡阶段内的当前DOM元素。

如果当前正在执行的处理函数被绑定了,向一个事件方法传递一个可选的数据对象。

当前调用的jQuery事件处理函数所附加的元素。

返回event.preventDefault()是否已经在该事件对象上调用过了。

返回event.stopImmediatePropagation()是否已经在该事件对象上调用过了。

返回event.stopPropagation()是否已经在该事件对象上调用过了。

当事件被引发时,表示META键是否已经压进去了。

当事件被触发时,所指定的命名空间。

相对于document左边缘的鼠标位置。

相对于document上边缘的鼠标位置。

如果调用了该方法,就不会触发事件的默认行为。

别的涉及到该事件的DOM元素,如果有的话。

由某个事件触发的事件处理函数返回的最后值,除非该值是undefined。

停止执行处理函数的剩余部分,防止事件沿着DOM树向上冒泡。

防止事件沿着DOM树向上冒泡,防止任何父元素的处理函数被该事件通知到。

初始化该事件的DOM元素。

浏览器创建事件的时间,与1970年1月1日的时间差,以毫秒计。

描述事件的性质。

对于键盘或鼠标事件,该属性标明了指定的键或者按钮是否被按下了。

如果网页上不能运行示例,请点击http://www.asprain.cn/jQueryAPI/event-object.htm查看示例。

如果你觉得本文档对你有用,欢迎给翻译作者支付宝打赏,支持翻译作者源源不断翻译更多有用的技术文档。