我在搜索堆栈溢出后得到了这段代码,它应该可以工作,但由于某种原因我收到了错误。我正在尝试编写 JS 来模拟用户单击具有特定 ID 的特定 href 链接。
这需要在所有主要浏览器(chrome、FF、IE、Safari)中工作
这是代码:
HTML:
<a id="clickhere" href="http://link.com">Need to simulate user clicking on this link</a>
JS:
fireOnclick();
function fireOnclick() {
var target=document.getElementById("clickhere");
if(document.dispatchEvent) { // W3C
var oEvent = document.createEvent( "MouseEvents" );
oEvent.initMouseEvent("click", true, true,window, 1, 1, 1, 1, 1, false, false, false, false, 0, target[0]);
target[0].dispatchEvent( oEvent );
}
else if(document.fireEvent) { // IE
target[0].fireEvent("onclick");
}
}
感谢任何帮助。谢谢
最佳答案
您需要从 target[0]
引用中删除 [0]。 getElementById
返回一个元素,而不是元素数组。我在 Chrome 中测试过,效果很好。
关于Javascript 点击 href 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8918620/