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;
}
}
添加回答
舉報