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" );