我正在尝试在锚标记中禁用鼠标中键单击事件。它在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
辅助浏览器兼容性:
参考链接: https://developer.mozilla.org/en-US/docs/Web/Events/auxclick
不幸的是我无法在其他浏览器中禁用鼠标中键点击事件,如Firefox,IE11和& Safari
我试图在浏览器的其余部分找到可能性。尝试mousedown& mouseup事件在其余浏览器中禁用鼠标中键单击事件,但这些事件无助于实现我的期望。
答案 0 :(得分:1)
auxclick
事件是一种实验性技术,因此它对浏览器的支持有限。
您可以使用mousedown事件:
$('button').on('mousedown', function(e) {
if (e.which === 2) {
console.log('Disabled');
return false;
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>Click me</button>
这应该适用于所有主流浏览器,但我不喜欢改变原生行为的想法。