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