2015-04-30 13 views
2

我正在使用一個我無法直接修改的插件,但我想從插件所附的DOM元素中刪除一些事件處理程序。如何刪除作爲jQuery中的對象的屬性傳遞的事件處理程序?

插件做到這一點:

var openOnClick = function() { 
    $('#selector').on({ 
     click: function(e) { 
      e.preventDefault(); 
      plugin.showPanel($(this)); 
     } 
    }) 
}; 

後來調用openOnClick();

我要徹底刪除此活動。我試過$('#selector').off('click'),但這不起作用。我認爲這是因爲它不僅僅是一個簡單的'click'事件附加到#selector。 我有什麼選擇擺脫這個事件?

+0

'return false;'會這樣做,我猜。 – Jai

+0

*「我想完全刪除這個事件,我嘗試了'$('#selector')。off('click')',但這不起作用。」*它會這樣做,如果你在插件之後運行它做了你在問題中顯示的附件。所以如果它不工作,還有其他的東西*繼續。 *「我認爲這是因爲它不僅僅是一個簡單的''click''事件附加到'#選擇器'」*是的,它是。 –

+0

T.J.克勞德。你是對的。我的問題是,我試圖刪除處理程序,甚至添加之前。你的評論應該是一個被接受的答案。這確實是一個簡單的「點擊」事件。 – luqo33

回答

0

你嘗試的

e.stopPropagation() 

或只是一個

return false; 
在點擊處理函數體

相關問題