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标准化的属性:
targetrelatedTargetpageXpageYwhichmetaKey
下面的属性也将被复制到事件对象,虽然他们的一些值可能不确定,取决于事件:
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" );
