jQuery.Event構造器
jQuery.Event構造器是開放的(exposed),當調用trigger時,就可以使用的。new操作符是可選的。可以查看trigger的文檔,如何將它和你的事件對象結合起來。
如:
//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(),並且它的屬性會被在新創建的事件對象上創建。如:
// 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 );
事件屬性
jQuery爲跨平臺的一致性正常化了下面的屬性:targetrelated Target pageX pageY which
metaKey.
如下的屬性也會被複制到事件對象上,即使他們的一些值會是undefined而取決於該事件:
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
其他屬性
一些事件也許會有特定的屬性。這些可以通過event.originalEvent對象將其作爲屬性來訪問。
如讓特殊的屬性能夠適合所有的事件對象,他們能被添加到jQuery.event.props的數組中。這是不推薦的,因爲它爲每一個事件增加了開銷。
如:
// 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");
event.currentTarget
事件發生的當前元素
這個屬性典型的和函數的this相同
如果你在使用jQuery.proxy或者其他的範圍的操作,this和你提供的任何上下文(context)都相同,event.currentTarget卻不是。
$("p").click(function(event) {
alert( event.currentTarget === this ); // true
});
event.data
噹噹前執行的處理者被綁定,可選的對象data可傳遞給事件方法
event.delegateTarget
當前被調用的jQuery事件句柄被附加的地方
event.isDefaultPrevented()
返回判斷event.preventDefault()是否在該事件對象上被調用
event.isImmediatePropagationStopped()
返回判斷event.stopImmediatePropagation()是否在該事件對象上被調用
event.isPropagationStopped()
返回判斷event.stopPropagation()是否在該事件對象上被調用
event.metaKey
指示判斷META鍵是否被按下
event.namespace
當事件被觸發時指定的namespace
event.pageX
光標相對文檔的左邊緣的位置
event.pageY
光標相對文檔的上邊緣的位置
event.preventDefault()
該方法是夠被調用,事件默認的動作不會被觸發
event.relatedTarget
在事件中涉及的其他DOM元素,如果有的話
event.result
被該事件觸發的由事件句柄返回的最後的值,除非該值爲undefined
event.stopImmediatePropagation()
將其他的處理程序不被執行,阻止事件產生DOM樹的冒泡
event.stopPropagation()
阻止事件產生DOM樹的冒泡,並且阻止任何父句柄被該事件通知
event.target
初始化該事件的DOM元素
event.timeStamp
返回瀏覽器創建該事件的時間和1970-01-01的差值的毫秒形式
event.type
描述事件的類型
event.which
對於按鍵和鼠標事件,這個屬性會指明被點擊的具體的按鍵或者button