jQuery1.7中 .delegate()已被.on()取代城丧,下面以示例的方式為大家介紹下jQuery中delegate與on的用法與區(qū)別戈钢,感興趣的朋友可以參考下
delegate:
當(dāng)點(diǎn)擊鼠標(biāo)時(shí)蹄溉,隱藏或顯示 p 元素:
$("div").delegate("button","click",function(){
$("p").slideToggle();
});
定義和用法
delegate() 方法為指定的元素(屬于被選元素的子元素)添加一個(gè)或多個(gè)事件處理程序,并規(guī)定當(dāng)這些事件發(fā)生時(shí)運(yùn)行的函數(shù)。
使用 delegate() 方法的事件處理程序適用于當(dāng)前或未來的元素(比如由腳本創(chuàng)建的新元素)
語法
$(selector).delegate(childSelector,event,data,function)
參數(shù):
childSelector ?必需霉涨。規(guī)定要附加事件處理程序的一個(gè)或多個(gè)子元素笙瑟。
event ?必需。規(guī)定附加到元素的一個(gè)或多個(gè)事件癞志。 由空格分隔多個(gè)事件值。必須是有效的事件。
data ??可選茅信。規(guī)定傳遞到函數(shù)的額外數(shù)據(jù)盾舌。
function ?必需。規(guī)定當(dāng)事件發(fā)生時(shí)運(yùn)行的函數(shù)蘸鲸。
on:
$("table").on("click", "td", function() {
alert("hi");
});
on(events,[selector],[data],fn)酌摇,參數(shù)[selector]是可選窑多,一個(gè)選擇器字符串用于過濾器的觸發(fā)事件的選擇器元素的后代。