3 回答

TA貢獻(xiàn)1820條經(jīng)驗 獲得超10個贊
該document.createEvent文件說:“ 該createEvent方法已被棄用。使用事件構(gòu)造來代替。 ”
因此,您應(yīng)該改用以下方法:
var clickEvent = new MouseEvent("click", {
"view": window,
"bubbles": true,
"cancelable": false
});
并在這樣的元素上觸發(fā)它:
element.dispatchEvent(clickEvent);

TA貢獻(xiàn)1865條經(jīng)驗 獲得超7個贊
對于Firefox鏈接似乎是“特殊的”。我能夠進(jìn)行這項工作的唯一方法是使用MDN此處描述的createEvent并調(diào)用initMouseEvent函數(shù)。即使那不能完全解決問題,我也必須手動告訴瀏覽器打開鏈接...
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;
}
}
添加回答
舉報