event.delegateTarget屬性返回當前調(diào)用的 jQuery 事件處理程序所添加的元素。
此屬性在on()方法附加的委托事件中最有用,該事件將事件處理程序附加在要處理的元素的祖先處。例如,它可以用于在委托點處標識和刪除事件處理程序。
注意:如果事件直接綁定到元素并且沒有發(fā)生委派,則event.delegateTarget等于event.currentTarget(請參見下面的示例)。
event.delegateTarget
單擊任何DIV中的按鈕時,將DIV的背景色更改為紅色:
$("div").on("click", "button", function(event){ $(event.delegateTarget).css("background-color", "red"); });測試看看?/?
顯示委托發(fā)生時的delegateTarget和currentTarget之間的區(qū)別:
$("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); });測試看看?/?
參數(shù) | 描述 |
---|---|
event | 該事件的參數(shù)來自事件綁定功能 |