繁体   English   中英

如何在任何鼠标按键事件上触发动作?

[英]How can action be triggered on any mouse button event?

为此,我实际上没有编写任何程序,但是我想了解它是如何在JS中实现以对抗它的。

我知道onclickonmousedownonmouseupondblclick 我使用以下规则(Privoxy;简单文本替换)将这些事件阻止在页面上:

s@onclick=@noclick=@gi
s@onmousedown=@nomousedown=@gi
s@onmouseup=@nomouseup=@gi
s@ondblclick=@nodblclick=@gi

我知道这很粗糙,这不是重点。

但是页面仍然对鼠标事件做出反应,当我单击静态文本时,它会给我带来很多弹出式窗口和弹出式窗口。

那么,Javascript中还有另一个鼠标按钮事件吗? 什么技巧可以应用于JS来避免使用这4个过滤器?

除了将事件处理程序添加为HTML中的属性以及JavaScriptHTMLElements的属性外,您还可以使用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));

以下这些鼠标事件在JavaScript中:

mousedown ,用户在此元素上按下鼠标按钮

mouseup ,用户释放此元素上的鼠标按钮

单击 ,在此元素上检测到一个鼠标向下按下和一个鼠标 向上

DBLCLICK

鼠标移动

鼠标悬停和鼠标悬停

要获得更多参考, 请访问http ://www.quirksmode.org/js/events_mouse.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM