jQuery event.delegateTarget 属性

jQuery 事件

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

jQuery 事件