📅  最后修改于: 2023-12-03 15:16:47.187000             🧑  作者: Mango
在学习 jQuery 事件绑定时,我们可能需要使用到 delegateTarget
属性。它是 jQuery 事件对象 event
中的一个属性,用于获取事件委托的对象。
event.delegateTarget
event.delegateTarget
属性返回一个表示事件委托的对象。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>delegateTarget 示例</title>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
</head>
<body>
<div id="outer">
<button id="inner">Click me!</button>
</div>
<script>
$(document).on('click', '#outer', function(event) {
console.log(event.delegateTarget); // #outer
});
$(document).on('click', '#inner', function(event) {
console.log(event.delegateTarget); // #outer
});
</script>
</body>
</html>
上面的示例中,我们绑定了两个点击事件,一个是在 #outer
元素上绑定的,一个是在 #inner
元素上绑定的。在事件处理函数中,我们通过 event.delegateTarget
属性获取事件委托的对象,发现返回的都是 #outer
元素。
这是因为,当我们在 #outer
元素上绑定点击事件时,实际上是委托给了 document
对象。当我们在 #inner
元素上绑定点击事件时,实际上是委托给了 #outer
对象。因此,无论点击哪一个元素,都会实际触发 #outer
上的点击事件。
event.delegateTarget
属性是 jQuery 事件对象中的一个属性,用于获取事件委托的对象。我们通常在事件处理函数中使用它,以便在多个元素上绑定事件时,能够方便地获取委托的对象。