Javascript 打开一个新选项卡,然后单击';不要失去焦点

Javascript 打开一个新选项卡,然后单击';不要失去焦点,javascript,html,Javascript,Html,您好,我正在使用javascript,我想在不同的选项卡中打开一个新页面,但仍然关注当前选项卡。我知道我可以这样做: JS document.getElementById("test").addEventListener("click", openNewBackgroundTab, false); function openNewBackgroundTab(){ var a = document.createElement("a"); a.href = "http://www.

您好,我正在使用javascript,我想在不同的选项卡中打开一个新页面,但仍然关注当前选项卡。我知道我可以这样做:

JS

document.getElementById("test").addEventListener("click", openNewBackgroundTab, false);

function openNewBackgroundTab(){
    var a = document.createElement("a");
    a.href = "http://www.3nytechnology.com/";
    var evt = document.createEvent("MouseEvents");    
    evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, true, false, false, false, 0, null);
    a.dispatchEvent(evt);
}
HTML

<a id="test" href="http://www.stupidcodes.com" target="_blank" >Open Google</a>

但这段代码在Firefox26.0中不起作用


有人能帮我解决这个问题吗?…

这可以通过模拟CTRL+click事件来完成

function openNewBackgroundTab() {
    var a = document.createElement("a");
    a.href = "http://www.google.com/";
    var evt = document.createEvent("MouseEvents");
    //the tenth parameter of initMouseEvent sets ctrl key
    evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, true, false, false, false, 0, null);
    a.dispatchEvent(evt);   
}

仅在chrome上测试。

您无法可靠地告诉浏览器其焦点应该在哪个选项卡上。这是不可能的。在声明函数openNewBackgroundTab后尝试附加eventListener。这是非常糟糕的用户体验。在某些情况下工作正常,我只是想做同样的事情,但我不确定任何使用完整链接,只需单击黑色分区。你是对的,但这仅在chrome中工作。其他方面呢像……这样的浏览器Safari•Firefox•IE9+在我的chrome浏览器中不起作用。。可能在新的更新中。。