jQuery的delegate()方法用于給動態(tài)添加的元素綁定事件。
通常情況下,可以使用on()方法給元素綁定事件。但是,如果元素是動態(tài)添加的,即在頁面加載完成后才添加的元素,那么使用on()方法是無法直接給這些元素綁定事件的,因為它們在綁定事件時還不存在。
而delegate()方法就是為了解決這個問題。它可以通過委托的方式,給已經(jīng)存在的元素(通常是它們的父元素)綁定事件,當事件發(fā)生時,再根據(jù)選擇器判斷事件源元素是否是目標元素,如果是,則執(zhí)行綁定的事件處理函數(shù)。
使用delegate()方法的語法如下:
$(selector).delegate(childSelector, event, data, handler);
其中:
selector:要綁定事件的父元素選擇器。
childSelector:要綁定事件的子元素選擇器,可以是一個具體的元素標簽名稱、class名稱或ID名稱。
event:要綁定的事件類型,如"click"、"mouseover"等。
data:可選參數(shù),傳遞給事件處理函數(shù)的額外數(shù)據(jù)。
handler:事件處理函數(shù)。
需要注意的是,delegate()方法在jQuery 3.0版本后已被廢棄,推薦使用on()方法代替。所以,如果你使用的是jQuery 3.0及以上版本,建議使用on()方法來代替delegate()方法。