?
本文檔使用 php中文網(wǎng)手冊(cè) 發(fā)布
向 <p> 元素添加 click 事件處理程序:
效果預(yù)覽 ?$("p").on("click",function(){
alert("The paragraph was clicked.");
});
on() 方法在被選元素及子元素上添加一個(gè)或多個(gè)事件處理程序。
自 jQuery 版本 1.7 起,on() 方法是 bind()、live() 和 delegate() 方法的新的替代品。該方法給 API 帶來很多便利,我們推薦使用該方法,它簡(jiǎn)化了 jQuery 代碼庫。
注意:使用 on() 方法添加的事件處理程序適用于當(dāng)前及未來的元素(比如由腳本創(chuàng)建的新元素)。
提示:如需移除事件處理程序,請(qǐng)使用 off() 方法。
提示:如需添加只運(yùn)行一次的事件然后移除,請(qǐng)使用 one() 方法。
$(selector).on(event,childSelector,data,function,map)
參數(shù) | 描述 |
---|---|
event | 必需。規(guī)定要從被選元素移除的一個(gè)或多個(gè)事件或命名空間。 由空格分隔多個(gè)事件值。必須是有效的事件。 |
childSelector | 可選。規(guī)定只能添加到指定的子元素上的事件處理程序(且不是選擇器本身,比如已廢棄的 delegate() 方法)。 |
data | 可選。規(guī)定傳遞到函數(shù)的額外數(shù)據(jù)。 |
function | 可選。規(guī)定當(dāng)事件發(fā)生時(shí)運(yùn)行的函數(shù)。 |
map | 規(guī)定事件映射 ({event:function, event:function, ...}),包含要添加到元素的一個(gè)或多個(gè)事件,以及當(dāng)事件發(fā)生時(shí)運(yùn)行的函數(shù)。 |
從 bind() 改為 on()
如何使用 on() 來達(dá)到與 bind() 相同的效果。
Changing from delegate() to on()
如何使用 on() 來達(dá)到與 delegate() 相同的效果。
從 live() 改為 on()
如何使用 on() 來達(dá)到與 live() 相同的效果。
添加多個(gè)事件處理程序
如何向元素添加多個(gè)事件處理程序。
使用 map 參數(shù)添加多個(gè)事件處理程序
如何使用 map 參數(shù)向被選元素添加多個(gè)事件處理程序。
在元素上添加自定義事件
如何在元素上添加自定義命名空間事件。
向函數(shù)傳遞數(shù)據(jù)
如何向函數(shù)傳遞數(shù)據(jù)。
向未來的元素添加事件處理程序
演示 on() 方法也適用于尚未創(chuàng)建的元素。
移除事件處理程序
如何使用 off() 方法移除事件處理程序。