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 | 该事件的参数来自事件绑定功能 |