【问题标题】:Disable mouse middle click in Firefox在 Firefox 中禁用鼠标中键
【发布时间】:2013-08-31 06:26:56
【问题描述】:

当我们单击鼠标中键时,锚标签正在新窗口中打开。我想禁用这个新窗口/标签。 belwo 提供的代码在 chrome 中运行。

$("a").on('click', function(e) { 
   if( e.which == 2 ) {
      e.preventDefault();
   }
}); 

检查以下链接:

  1. Triggering onclick event using middle click
  2. Disable middle mouse button for modal dialog

根据一些更好的是将锚标记更改为其他一些选项卡,但我需要左键单击锚选项卡的默认行为,我需要禁用中间和右键单击。有人帮我解决这个问题。

注意:许多问题都与此相关,但尚未提出确切的问题。

这在 Firefox 中不起作用。我也需要在 Firefox 中解决这个问题。

fiddle

【问题讨论】:

  • 你没有说你的解决方案有什么问题。
  • 来自链接#2 中的一个答案:Firefox 中无法禁用鼠标中键的默认功能。如此处所述。 Firefox 和其他 Gecko 浏览器已经释放了对鼠标右键的控制,但不能禁用默认的中键操作。您可以通过编辑“about:config” URL 上的中间鼠标设置来更改默认操作,但 Javascript 无法取消它们。
  • @Itay 这在 Firefox 中不起作用
  • @putvande,我已经在 chrome 中解决了这个问题。我需要为此在 Firefox 中找到解决方案。请帮忙

标签: javascript jquery html


【解决方案1】:

这是为了阻止在 firefox 上单击整个文档。您可以通过 e.target 检查任何元素。它需要 jQuery,但你也可以使用 vanilla js

$(document).on('auxclick', function(e) {
    if( e.button == 1 ) 
    alert('Its blocked globally');
    e.preventDefault();
    return false;
  }
})

【讨论】:

    【解决方案2】:

    纯html解决方案,无需javascript:

    <a href="javascript:void(0)" onclick="window.location = 'http://www.stackoverflow.com';">Click me</a>
    

    【讨论】:

    • 感谢您的建议。在 Firefox 中这也不起作用,在新选项卡“javascript:void(0)”中打开它
    • javascript:void(0) 和 onclick="window.location = 'stackoverflow.com';"是javascript。您只是将其直接嵌入到您的元素中,而不是分离逻辑
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-10
    • 1970-01-01
    • 2011-11-23
    • 2016-07-01
    相关资源
    最近更新 更多