事件对象

jQuery事件属性详解
本文详细介绍了jQuery中的事件属性,包括currentTarget、data、delegateTarget等,并解释了它们的作用及应用场景。通过实例展示了如何利用这些属性进行高效编程。

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




转载于:https://www.cnblogs.com/luyao-luyao/p/7294303.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值