借助jQuery

时间:2017-12-07 13:15:57

标签: javascript jquery html

我正在尝试在锚标记中禁用鼠标中键单击事​​件。它在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

enter image description here

enter image description here

不幸的是我无法在其他浏览器中禁用鼠标中键点击事件,如Firefox,IE11和& Safari

我试图在浏览器的其余部分找到可能性。尝试mousedown& mouseup事件在其余浏览器中禁用鼠标中键单击事​​件,但这些事件无助于实现我的期望。

1 个答案:

答案 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>

这应该适用于所有主流浏览器,但我不喜欢改变原生行为的想法。