我正在尝试为Opera编写一个自动发送特定聊天消息的扩展。(确切地说是命令。)为此,我想在文本区域输入消息,模拟点击按钮发送消息并阅读我得到的回复。
我一直在尝试使用JavaScript的Element.click()函数来模拟点击,但它不起作用。我的代码是这样的:
document.getElementsByClassName("text-area")[0].value = "test";
document.getElementsByClassName("send-chat-button")[0].click();
文本区域填充了我想要的值,但它没有点击按钮。我在控制台上也没有得到任何输出。如果能得到任何帮助,我都会很高兴。
问候,Kileraptor1
更新:你是对的,按钮没有像我想象的那样有OnClick
事件。老实说,我不确定它是如何提交消息的。由于我正在为一个我不拥有的网站编写插件,我无法编辑源代码或任何内容。
最简单的方法是使用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,这里已经有了一个很好的答案。正如我所说的,jQuery使这一点变得非常简单。