3 回答

TA贡献1820条经验 获得超10个赞
该document.createEvent文件说:“ 该createEvent方法已被弃用。使用事件构造来代替。 ”
因此,您应该改用以下方法:
var clickEvent = new MouseEvent("click", {
"view": window,
"bubbles": true,
"cancelable": false
});
并在这样的元素上触发它:
element.dispatchEvent(clickEvent);

TA贡献1865条经验 获得超7个赞
对于Firefox链接似乎是“特殊的”。我能够进行这项工作的唯一方法是使用MDN此处描述的createEvent并调用initMouseEvent函数。即使那不能完全解决问题,我也必须手动告诉浏览器打开链接...
var theEvent = document.createEvent("MouseEvent");
theEvent.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
var element = document.getElementById('link');
element.dispatchEvent(theEvent);
while (element)
{
if (element.tagName == "A" && element.href != "")
{
if (element.target == "_blank") { window.open(element.href, element.target); }
else { document.location = element.href; }
element = null;
}
else
{
element = element.parentElement;
}
}
添加回答
举报