单击href链接的Javascript

时间:2012-01-18 22:42:58

标签: javascript internet-explorer firefox google-chrome safari

我在搜索堆栈溢出后得到了这段代码,它应该工作,但由于某种原因我收到了错误。我正在尝试编写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");
    }    
}

感谢任何帮助。感谢

1 个答案:

答案 0 :(得分:4)

您需要从target[0]引用中删除[0]。 getElementById返回一个元素,而不是元素数组。我在Chrome中测试过它运行良好。

http://jsfiddle.net/mendesjuan/vCVbA/1/