jQuery 事件对象

jQuery的事件系统根据 W3C 标准规范的事件对象。事件对象是保证传递给事件处理程序。大部分属性由原来的事件被复制过来,归到新的事件对象。


jQuery.Event 构造函数

该 jQuery.Event 构造函数是暴露的并且可以调用trigger()时使用。 new 运算符是可选的。

Example:

//Create a new jQuery.Event object without the "new" operator.
var e = jQuery.Event( "click" );
 
// trigger an artificial click event
jQuery( "body" ).trigger( e );

在jQuery 1.6中,您也可以将对象传递给 jQuery.Event() ,其属性会设置成新创建的事件对象上。

Example:

// Create a new jQuery.Event object with specified event properties.
var e = jQuery.Event( "keydown", { keyCode: 64 } );
 
// trigger an artificial keydown event with keyCode 64
jQuery( "body" ).trigger( e );

Event 属性

以下兼容跨浏览器的jQuery标准化的属性:

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

下面的属性也将被复制到事件对象,虽然他们的一些值可能不确定,取决于事件:

altKey , bubbles , button , cancelable , charCode , clientX , clientY , ctrlKey , currentTarget , data , detail , eventPhase , metaKey , offsetX , offsetY , originalTarget , pageX , pageY , prevValue , relatedTarget , screenX , screenY , shiftKey , target , view , which

OtherProperties

某些事件可能有它们特定的属性。那些属性可以存取在 event.originalEvent 对象上。

Example:

// add the dataTransfer property for use with the native `drop` event
// to capture information about files dropped into the browser window
jQuery.event.props.push( "dataTransfer" );