2016-03-30 22 views
0

私は、特定のチャットメッセージを自動的に送信するOpera用の拡張機能を作成しようとしています。そのためには、テキストエリアにメッセージを入力し、ボタンのクリックをシミュレートしてメッセージを送信し、返信を読みたいと思っています。element.click()を使ってボタンをシミュレートするJavaScriptをクリックしてください

JavaScriptのElement.click()関数を使用してクリックをシミュレートしようとしましたが、動作しません。私のコードは次のようなものになり :

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

をテキストエリアには、私が欲しい値で埋めますが、それは、ボタンをクリックしていません。 コンソール上に出力が表示されません。私は私が得ることができるすべての援助についてうれしいだろう。

よろしく、Kileraptor1

UPDATE:あなたが正しかった、私はそれが思っていたように、ボタンがOnClickイベントを持っていません。私は正直なところ、メッセージをどのように提出するのか分かりません。私がwebsiteのプラグインを書いているので、私はソースを編集することはできません。

+0

jQueryを使用していない限り、JavaScriptは 'click()'ではなく 'onclick'を使います。 –

+0

@Henryボタンを押して機能をトリガーしたくない場合は、JavaScriptを使用してボタンのクリックをシミュレートします。 – Kileraptor1

+0

多分、あなたがボタンをシミュレートするスタイルをjqueryで.addClassを追加して、テキストエリアにenterを押すと、シミュレーション用にkeypressを使用する必要があります。これはjqueryでのみ可能です。 –

答えて

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はこれを非常に簡単にします。

関連する問題