2014-02-25 99 views
0

爲此,我實際上沒有編寫任何程序,但我想了解它是如何在JS中實施的,以對策它。如何在任何鼠標按鈕事件中觸發操作?

我知道關於onclick,onmousedown,onmouseupondblclick。我阻塞頁這些事件,使用這樣的規則(Privoxy的,簡單的文本替換):

[email protected][email protected][email protected] 
[email protected][email protected][email protected] 
[email protected][email protected][email protected] 
[email protected][email protected][email protected] 

我知道這是相當粗糙,這是不是這裏的點。

然而,頁面仍然對鼠標事件作出反應,當我點擊靜態文本時,它給了我很多彈出窗口和popunders。

那麼,Javascript中是否存在另一個鼠標按鈕事件?什麼技巧可以應用於JS以避免這4個過濾器?

+2

您可以添加很多處理程序使用'addEventListener',相同的事件(這必須要防止前行執行),這大概是你遇到的那些被附加 –

+0

謝謝,請你把它作爲回答發表,而不是評論(我不能接受它)。 – greenoldman

回答

1

隨着添加事件處理爲屬性在HTMLJavaScript的HTML元素在個屬性,你也可以使用JavaScript的處理程序安裝到使用HTMLElement.prototype.addEventListener的元素,它可以讓你連接很多處理同一事件。

這種附加處理程序的方式很可能是繞過當前塊的方式,並且可能難以刪除。


一個繞過它可能是這樣

HTMLElement.prototype.addEventListener = (function (listen) { 
    return function (a) { 
     if (a === 'click') // for example 
      return; 
     return listen.apply(this, arguments); 
    }; 
}(HTMLElement.prototype.addEventListener)); 
0

以下這些鼠標事件是在JavaScript:

鼠標按下,用戶按下此元素

鼠標鬆開鼠標按鈕,用戶釋放該元素

點擊鼠標按鈕,一個mousedown和一個mouseup檢測ED此元素上

DBLCLICK

鼠標移動

鼠標懸停和鼠標移開

對於更多Refrence:http://www.quirksmode.org/js/events_mouse.html

相關問題