我有下面這行到一個click事件添加到使用同一類項目:解除綁定click事件向類
jQuery('.multi_image').click(function(){onMultiImageClicked(jQuery(this));});
我使用下面的代碼,試圖解除綁定click事件:
jQuery('.multi_image').unbind('click');
但是,解除綁定似乎沒有任何效果。
是否有可能從類的對象類中刪除點擊事件?
我有下面這行到一個click事件添加到使用同一類項目:解除綁定click事件向類
jQuery('.multi_image').click(function(){onMultiImageClicked(jQuery(this));});
我使用下面的代碼,試圖解除綁定click事件:
jQuery('.multi_image').unbind('click');
但是,解除綁定似乎沒有任何效果。
是否有可能從類的對象類中刪除點擊事件?
.unbind('click')
必須努力......但我建議使用on
和off
功能:
使用on
和off
功能來代替:
jQuery('.multi_image').on("click", function(){
onMultiImageClicked(jQuery(this));
});
和
jQuery('.multi_image').off("click");
off()
方法刪除附加.on()
的事件處理程序。有關更多信息,請參閱該頁面上關於委派和直接綁定事件的討論。通過提供事件名稱,名稱空間,選擇器或處理函數名稱的組合,可以在元素上刪除特定事件處理程序。 當給出多個過濾參數時,所提供的所有參數必須匹配才能移除該事件處理程序。
從jQuery的文檔
Event handlers attached with .bind() can be removed with .unbind().
由於您沒有使用綁定(),這可能是對這種行爲的原因。嘗試使用on(),off()或使用bind()在使用unbind()之前綁定click處理程序。
謝謝。原來是一個邏輯錯誤。我最初發布的代碼的作品。不過,我很欣賞被打開到「開」和「關」選項。 –
@LeeLoftiss是的,它應該。更新了我的答案。 –