【发布时间】:2017-12-07 13:15:56
【问题描述】:
我正在尝试禁用锚标记中的鼠标中键单击事件。它在 Chrome 中完美运行。这是我的 Chrome 实现代码:
//prevent mouse wheel middle click for chrome
$(document).on('auxclick', 'a', function (e) {
if (e.which === 2) { //middle Click
return false;
}
return true;
});
注意:以上实现仅适用于 Chrome 55 及其最新版本
参考 Chrome 的 auxclick 文档: https://developers.google.com/web/updates/2016/10/auxclick
auxclick 浏览器兼容性:
参考链接: https://developer.mozilla.org/en-US/docs/Web/Events/auxclick
不幸的是,我无法在 Firefox、IE11 和 Safari 等其他浏览器中禁用鼠标中键事件
我正在尝试在浏览器的其余部分中寻找可能性。尝试 mousedown 和 mouseup 事件以在浏览器的其余部分禁用鼠标中键单击事件,但这些事件无助于实现我的期望。
【问题讨论】:
-
你为什么要这个?可能有一个正当的理由,但滚动点击是本机用户界面(例如快速滚动),要非常小心地改变它。
-
@Stevm non of the reference 不适合我。我正在尝试在最新版本的浏览器中禁用。在我的问题中清楚地解释这一点。
-
@Martijin 他们的主要原因是如果我们在锚标签中单击鼠标中键,我们需要防止在新标签中导航我们的网站
-
@Martijin 我同意滚动点击是本机用户界面事件,但我们如何能够在 chrome 中防止无法在浏览器的其余部分中防止。你有什么正当理由吗?
标签: javascript jquery html