我正在尝试将Chrome中的Javascript代码写入控制台,点击页面上的链接。我正在使用的代码是
document.getElementById("id_name").getElementsByTagName("a").dispatchEvent(MouseEvent.ClICK)
并且给了我这个错误:TypeError: undefined is not a function
。我这样做是对的吗?什么是在HTML元素上模拟click事件的正确方法?我也试图在没有jQuery的情况下这样做。
答案 0 :(得分:2)
好吧,我不能相信代码,但是当谷歌搜索这个问题的答案时,我偶然发现了一个jsFiddle,有人演示了这个:http://jsfiddle.net/roine/wyh9r/
function fire( elem, type ) {
var evt = elem.createEvent("Events");
evt.initEvent( type, true, true, window, 1);
elem.dispatchEvent(evt);
}
document.addEventListener( "plop", function() {
console.log( "Fired a synthetic click event" );
}, false );
fire( document, "plop" );
因此,您只需将“plop”替换为“click”即可模拟点击事件。
答案 1 :(得分:1)
您所要做的就是获取元素并调用onclick()方法。
document.getElementById("id_name").onclick();