當按鈕為動態生成時,向按鈕上綁定click時間時會失效。
on()
函數用於為指定元素的一個或多個事件綁定事件處理函數。
//為所有p元素綁定click事件處理程序(注意:這里省略了selector參數) //n2、n3、n5均可觸發該事件 $("p").on("click", function(event){ // 這里的this指向觸發點擊事件的p元素(Element) alert( $(this).text() ); });
on()
支持直接在目標元素上綁定事件,也支持在目標元素的祖輩元素上委托綁定。在事件委托綁定模式下,即使是執行on()
函數之后新添加的元素,只要它符合條件,綁定的事件處理函數也對其有效。
// 為div中的所有p元素綁定click事件處理程序 // 只有n2、n3可以觸發該事件 $("div").on("click", "p", function(){ // 這里的this指向觸發點擊事件的p元素(Element) alert( $(this).text() ); });
此外,該函數可以為同一元素、同一事件類型綁定多個事件處理函數。觸發事件時,jQuery會按照綁定的先后順序依次執行綁定的事件處理函數。
要刪除通過on()
綁定的事件,請使用off()函數。如果要附加一個事件,只執行一次,然后刪除自己,請使用one()函數。
該函數屬於jQuery
對象(實例)。