使用element.click()模拟Javascript

时间:2016-03-30 18:02:41

标签: javascript opera opera-extension

我试图为Opera编写一个自动发送特定聊天消息的扩展程序。 (命令,确切地说。)为此,我想将消息输入textarea,模拟按钮点击发送消息并阅读我得到的回复。

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

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

textarea填入了我想要的值,但它没有点击按钮。 我也没有在控制台上获得任何输出。我能得到任何帮助,我感到很高兴。

问候,Kileraptor1

更新:你是对的,按钮没有像我想象的那样有OnClick事件。老实说,我不确定它是如何提交消息的。由于我正在编写一个我不拥有的website插件,我无法编辑源代码或其他内容。

1 个答案:

答案 0 :(得分:0)

最简单的方法是使用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使这非常简单。