2012-08-29 25 views
1

我有我自己的頁面,我加載了一個分析我的DOM的外部第三方JavaScript。我面臨的問題如下。我安裝了一些事件監聽器('按鍵','輸入','點擊'),但在我追加提到的腳本(並且她執行一些計算)之後,我的一些監聽器不再工作。確切地說,「點擊」偵聽器按預期攔截點擊事件,但其他兩個不攔截任何內容。有沒有辦法讓外部腳本干擾我的聽衆? 。JavaScript刪除未知的收聽者

document.addEventListener('input', function...., true); 
... 

我沒有任何其他的代碼,爲您提供:

順便說一下,我安裝的時候我的聽衆,這樣的設置將useCapture爲true。

P.S.由於被混淆,我無法使用外部代碼。 P.P.S.再次安裝處理程序沒有幫助。

回答

1

儘管不太可能,但第三方代碼可能會在捕獲事件之前停止傳播(e.stopPropagation())。這將需要代碼將偵聽器附加到捕獲階段中父元素上的相同事件。

沒有更多的代碼可以看到,特別是這個第三方代碼,很難找到實際的問題。

+0

我嘗試在窗口上安裝偵聽器,但這並沒有幫助。我知道沒有代碼很難,但找出可能的原因會有所幫助,這可能會指導我。這很有幫助。 – bellpeace

+0

看看這個問題的最佳答案:http://stackoverflow.com/questions/7338193/using-chrome-how-to-find-whos-binded-to-an-event 這就是我可以建議嘗試沒有更多細節。 –

+1

@ AdamHeath值得指出[stopPropagation](http://www.w3.org/TR/DOM-Level-3-Events/#events-event-type-stopPropagation)阻止事件傳播到其他元素,它不會停止當前元素上的偵聽器(即其他[候選事件偵聽器](http://www.w3.org/TR/DOM-Level-3-Events/#glossary-candidate-event-handlers))被稱爲。 – RobG