点按中间按钮无法在Firefox

时间:2015-12-23 03:53:30

标签: javascript html firefox onclick

我已经搜索了很多但仍无法找到正确的答案。 我想知道为什么中间点击(滚动按钮)只能在Firefox上加载onclick function,而在Chrome上它可以正常工作。因此,onclick function代替href link显示javascript:void(0)

<a  href="javascript:void(0);" onclick="open_tab();">

的Javascript

function open_tab(){
        my_tab=window.open('http://www.google.com/', my_tab);                                   
}

告诉我为什么。非常感谢。

2 个答案:

答案 0 :(得分:1)

我没有在此计算机上进行中间点击以对此进行测试,但为了使您的中间点击与浏览器兼容,我会在javascript中添加一个事件监听器:

var open = document.getElementById('opentab');

open.addEventListener ("click", function (e) {
  if (e.which === 2) {
      e.preventDefault();
      open_tab();
  }
});

这取决于为您的链接添加ID,如:

<a href="javascript:void(0);" id="opentab">Open Tab</a>

此外,正是espascarello正确指出,mozilla社区放弃了对中间和右侧点击事件的解雇:http://bugzilla.mozilla.org/show_bug.cgi?id=180078

答案 1 :(得分:0)

为所有浏览器实现此目的

我做得有点简单

function open_tab(){
        my_tab=window.open('http://www.google.com/', "Google");                                   
}


var link = document.getElementById("alink");
link.addEventListener("mousedown", function(e) {  
    e.preventDefault();
    if(e.which===1||e.which===2){
    open_tab();    
      }
});
<a id="alink">Open Google</a>

该行

if(e.which===1||e.which===2){

确保仅在鼠标左键和中键单击时打开窗口。

它对我来说很好!!!!!!!!希望它有所帮助!