首页 > 代码库 > 事件对象

事件对象

  1, currentTarget属性用于返回事件在冒泡阶段中的当前DOM元素。该属性通常等于事件处理函数内部的this指针。例如:

$("p").click( function(event){
    alert( event.currentTarget === this ); // true  
} );    

2, data属性返回绑定当前事件处理函数时传递的附加数据, 返回类型取决于附加数据的类型。如果绑定时没有传递附加数据则返回undefined。
var userObj = { name: "CodePlayer", age: 18 };

// 为所有p元素绑定click事件,并传入附加数据(user)
$("p").on( "click", userObj, function(event){
    alert( event.data.name ); // CodePlayer
} );
3, delegateTarget用于返回负责绑定当前被调用的事件处理函数的DOM元素。常用于事件函数delegate()、 on()添加的委托事件中,用于返回受委托的DOM元素, 对于bind()、
live()、 click()等"非委托"事件函数而言,该属性的返回值等于currentTarget属性的值,也就是返回事件冒泡阶段中的当前DOM元素。
// 为id为element的元素中的所有span元素绑定click事件
$("#element").on( "click", "span", function(event){
    // event.delegateTarget 就是id为element的DOM元素
    // this 就是当前触发事件的span元素
    alert( event.delegateTarget === this); // false
} );


// 为id为element的元素中的所有span元素绑定click事件
$("#element span").bind( "click", function(event){
    // event.delegateTarget 就是当前触发事件的span元素
    // this 就是当前触发事件的span元素
    alert( event.delegateTarget === this ); // true
} );


4, metaKey 属性用于指示事件触发时是否按下了Meta键。

5, pageX属性用于返回鼠标指针相对于当前文档左边缘的位置; pageY返回鼠标指针相对于当前文档上边缘的位置。

6, result属性用于返回本次时间触发执行的上一个事件处理函数的返回值。如果为DOM元素的同一个事件类型绑定了多个事件处理函数,可使用result属性获取上一个事件处理函数执行的返回值。

7, target属性用于返回最初触法事件的dom元素。例如: 为<p>元素绑定点击事件, 由于dom元素的事件冒泡机制,点击<P>元素内的一个<span>元素就可以触发<p>元素上绑定的click事件。
target返回<span>元素,currentTarget属性始终返回的是<p>元素。

8, type用于返回当前触发事件的事件类型, 返回值为string类型。

9, which属性用于返回触发当前事件时按下的键盘按键或鼠标按钮。

10,timeStamp用于返回当前时间触发的时间值。
11, preventDefault()用于阻止当前触发事件的默认行为。 例如链接的默认行为是跳到指定的url。
isDefaultPrevented()用于判断是否已经调用过event.preventDefault()函数。
    $("a").click( function(event){
    alert( event.isDefaultPrevented() ); // false  
    event.preventDefault();
    alert( event.isDefaultPrevented() ); // true
} );
12,stopImmediatePropagation()用于阻止剩余的事件处理函数的执行,并防止当前事件在DOM树上冒泡。由于live()函数是将事件"委托"绑定到祖辈元素上,所以会先一次性
冒泡到文档的顶部,然后为符合条件的元素触发时间,因此stopImmediatePropagation()函数无法阻止live事件的冒泡。dalegate()只有事件冒泡传递到"受委托"的祖辈元素
才会被触发执行。
isImmediatePropagationStopped()
13,stopPropagation()函数用于阻止当前事件在DOM树上冒泡。只阻止事件向祖辈元素的传播,不会阻止该元素自身绑定的娶她事件处理函数的函数。isPropagationStopped();




事件对象