在 Javascript 中使用 element.click() 模拟按钮点击

Using element.click() to simulate a Button Click in Javascript

我正在尝试为 Opera 编写一个自动发送特定聊天消息的扩展程序。 (命令,确切地说。)为此,我想将消息输入文本区域,模拟一个按钮单击以发送消息并阅读我收到的回复。

我一直在尝试使用JavaScript的Element.click()函数来模拟点击,但是没有用。 我的代码是这样的:

document.getElementsByClassName("text-area")[0].value = "test";
document.getElementsByClassName("send-chat-button")[0].click();

文本区域填充了我想要的值,但它没有单击按钮。 我也没有在控制台上得到任何输出。如果能得到任何帮助,我会很高兴。

此致,Kileraptor1

更新:你是对的,按钮没有我认为的 OnClick 事件。老实说,我不确定它是如何提交消息的。由于我正在为不属于我的 website 编写插件,因此我无法编辑源代码或任何内容。

最简单的方法是使用 jQuery 中的 trigger() 函数:

$(".send-chat-button:first").click(function()
{
    // Whatever actions you want to perform on click
});

$(".send-chat-button:first").trigger("click"); // Executes the click event handler

trigger(event) 将执行代码中任意位置附加到元素的任何指定事件。

如果您想使用纯 JavaScript,已经有一个很好的答案 here。正如我所说,jQuery 使这变得非常简单。