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