📅  最后修改于: 2023-12-03 15:16:47.178000             🧑  作者: Mango
event.currentTarget
是 jQuery 中的一个属性,用于获取当前事件被绑定到的 DOM 元素。在事件处理函数内部,event.currentTarget
指向触发该事件的元素。
以下是获取 event.currentTarget
的几种常见方法:
event.currentTarget
$('#myElement').click(function(event) {
var currentTarget = event.currentTarget;
console.log(currentTarget);
});
在上面的代码中,当 #myElement
元素被点击时,会在浏览器的控制台输出当前的 DOM 元素。
$(this)
$('#myElement').click(function() {
var currentTarget = $(this);
console.log(currentTarget);
});
在上述代码中,$(this)
来代替 event.currentTarget
获取当前元素。
event.currentTarget
返回的是一个 DOM 元素,若需要使用 jQuery 的方法,需要将其包装成 jQuery 对象,例如 $(event.currentTarget)
。
在使用 event.currentTarget
时,需要注意事件冒泡的影响。如果当前元素是事件的直接目标,则 event.currentTarget
与 event.target
相等;如果当前元素是事件的父级元素,并且事件通过冒泡机制传递给了该父级元素,则 event.currentTarget
会指向该父级元素,而 event.target
会指向触发事件的子元素。
以下是一个使用 event.currentTarget
的示例代码:
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
$('.myButton').click(function(event) {
var currentTarget = $(event.currentTarget);
console.log(currentTarget.text());
});
});
</script>
</head>
<body>
<button class="myButton">按钮1</button>
<button class="myButton">按钮2</button>
<button class="myButton">按钮3</button>
</body>
</html>
以上代码为页面中的多个按钮添加了相同的点击处理函数,当按钮被点击时,会在控制台输出按钮的文本内容。