2016-08-03 61 views
0

我正在運行此jquery的片段以從基於ui-router的角度應用程序中刪除所有事件偵聽器,但似乎沒有anyhting?這是非法行爲嗎?

$rootScope 
    .$on('$stateChangeStart', 
     function(event, toState, toParams, fromState, fromParams){ 
      console.log("Going to remove event listeners"); // this fires 
      $(document).off(); 
    }); 
+0

我也試着在chrome dev控制檯中運行它,沒有錯誤。我仍然可以在元素選項卡>>「事件監聽器」 – rex

回答

0

看起來您需要專門選擇元素才能從中移除事件處理程序。您可以使用.unbind()刪除對象中的所有事件,但我不相信您可以在整個頁面中執行此操作。 See this question.

+0

下看到所有事件,但事件是基於屏幕截圖在文檔上註冊的? http://i.stack.imgur.com/Rea95.png – rex

+0

無論如何,我也嘗試過這樣做,它似乎沒有工作? $(「html」)。off()或$(「body」)。off() – rex

+0

是的,我明白了。那麼,一個比我更有知識的人將不得不接受這個。 :D – Casey