【问题标题】:Simulating a click event in Javascript [duplicate]在Javascript中模拟点击事件[重复]
【发布时间】:2014-05-02 18:56:18
【问题描述】:

我正在尝试将 Javascript 代码写入 chrome 中的控制台,以单击页面上的链接。我使用的代码是

document.getElementById("id_name").getElementsByTagName("a").dispatchEvent(MouseEvent.ClICK)

并给我这个错误:TypeError: undefined is not a function。我这样做对吗?在 HTML 元素上模拟点击事件的正确方法是什么?我也试图在没有 jQuery 的情况下做到这一点。

【问题讨论】:

标签: javascript html google-chrome mouseclick-event


【解决方案1】:

好吧,我不能把代码归功于代码,但是当我在谷歌上搜索这个问题的答案时,我偶然发现了一个 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”来模拟点击事件。

【讨论】:

    【解决方案2】:

    您所要做的就是获取元素并调用 onclick() 方法。

    document.getElementById("id_name").onclick();
    

    【讨论】:

    • 我不知道,但这不是 OP 的问题。
    • 天啊!你只是拖钓。这又不是 OP 的问题。而不是用建议质疑别人的回答评论。他没有将其写入网页,而是从 Chrome 的调试控制台进行测试。是的,它可能会引发错误,但我只是在回答他原来的问题。
    • 这个答案是不正确的,因为它没有像问题所问的那样做任何事情。不,指出答案有什么问题并不是拖钓。礼貌地纠正不正确答案的评论不是拖钓的例子,不应被标记和删除。
    猜你喜欢
    • 1970-01-01
    • 2021-03-07
    • 2023-04-04
    • 2018-08-10
    • 1970-01-01
    • 1970-01-01
    • 2014-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多