dispatchEvent无法在firefox中运行

时间:2014-07-02 12:33:06

标签: javascript

我试图在JavaScript中打开一个新标签页。它在Chrome中按预期工作,但是当涉及到Firefox时它什么都不做。我知道window.open()可用于打开标签,但我的目的是将焦点放在当前页面上。我花了一整天的时间来寻找解决方案,但我只能看到人们声称这是Firefox中的一个错误。我想知道是否有任何解决方法。这是我正在使用的一段代码。

var a = document.createElement("a");
a.href = popup_url;//this comes from the function's argument
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);

1 个答案:

答案 0 :(得分:2)

这是工作函数(see):

function click(node){
  var evt=new MouseEvent('click',
     {'view':window,'bubbles':true,'cancelable':true});
  node.dispatchEvent(evt);
}