jQuery的事件系统是根据W3C标准的事件对象规范化而来的, 事件对象传递给事件处理器, 大多数原始事件的属性被拷贝并规范化到新的事件对象中.
1. jQuery.Event.Constructor
jQuery.Event
的Constructor
在调用trigger
的时候使用, 新的操作符是可选的.
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 );
jQuery1.6以上版本, 还可以给jQuery.Event传递object对象, 对象中的属性会设置到新创建的Event 对象.
// 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 );
2 Event属性
jQuery为不同型号的浏览器规范出以下属性
- target
- relatedTarget
- pageX
- pageY
- witch
- mataKey
以下属性也同样被copy到event对象中,尽管部分属性是undefined
altKey, bubbles, button, cancelable, charCode, clientX, clientY, ctrlKey, currentTarget, data, detail, eventPhase, metaKey, offsetX, offsetY, originalTarget, pageX, pageY, relatedTarget, screenX, screenY, shiftKey, target, view, which
3 其他属性
个别events可能含有私有属性,并可以作为event.originalEvent
对象的属性来访问.
总之定义了事件 ,然后再定义监听, 最后trigger的时候就可以出发, 不用实际去点击