event.delegateTarget属性返回当前调用的 jQuery 事件处理程序所添加的元素。
此属性在on()方法附加的委托事件中最有用,该事件将事件处理程序附加在要处理的元素的祖先处。例如,它可以用于在委托点处标识和删除事件处理程序。
注意:如果事件直接绑定到元素并且没有发生委派,则event.delegateTarget等于event.currentTarget(请参见下面的示例)。
event.delegateTarget
单击任何DIV中的按钮时,将DIV的背景色更改为红色:
$("div").on("click", "button", function(event){
$(event.delegateTarget).css("background-color", "red");
});测试看看‹/›显示委托发生时的delegateTarget和currentTarget之间的区别:
$("body").on("click", "button", function(event){
let dt = event.delegateTarget;
let ct = event.currentTarget;
$("p").html("delegateTarget: " + dt.nodeName + "<br>currentTarget: " + ct.nodeName);
});测试看看‹/›显示对于直接绑定的事件,delegateTarget和currentTarget是相等的:
$("button").on("click", function(event){
let dt = event.delegateTarget;
let ct = event.currentTarget;
$("p").html("delegateTarget: " + dt.nodeName + "<br>currentTarget: " + ct.nodeName);
});测试看看‹/›| 参数 | 描述 |
|---|---|
| event | 该事件的参数来自事件绑定功能 |