我動態地插入一些用作按鈕的圖像並添加一個onClick事件。動態替換onclick處理程序
$("img.image_edit_customer").live("click", function() {
// when clicking the edit image of a row
$(this).manipulateCustomer("editRowCustomer", {
scope : "#customer_tbody"
});
});
後來我想從用作按鈕的圖像中刪除onClick事件。
$('img[class^="image_edit"]').live('click', function() {
// do nothing from now on
alert('edit');
});
現在,它始終執行舊和新的處理程序。
UPDATE
如果我使用die('click');
,我仍然可以執行onclick事件一次。
它也適用於動態插入的圖像嗎? – 2012-03-05 10:32:30
是的,任何可以附加處理程序的元素都應該使用這種方法。它監聽文檔級別的任何「單擊」事件,只要目標元素的選擇器是正確的,它將起作用,但您應該嘗試使用比「文檔」更近的父級,這當然如果可能的話,不要動態地插入。 – adeneo 2012-03-05 10:50:06