javascript - dispatchEvent 在 Firefox 中不起作用

标签 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);

最佳答案

这是工作函数(see):

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

关于javascript - dispatchEvent 在 Firefox 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24531161/

相关文章:

javascript - plotly.js 中的分类轴顺序

javascript - 如何正确地与另一个 Controller 管理的 View 交互?

javascript - 允许类似 promise.all 的函数返回可选的 null 结果

javascript - 在执行命令并移动到 Node.js 中的其他语音 channel 后,如何检查该人所在的语音 channel ID?

java - 在 Java 中获取 Nashorn JsonObject

javascript - jQuery 中 .push 数组值之间的空格

javascript - 使用 css 在 slider 的中心插入图形

javascript - 如何仅使用基本的 javascript 根据文本框中的输入显示和隐藏 div

javascript - 将文本框中的内容转换为 HTML

javascript - 在 AngularJS 中只运行一次某些代码