キーイベントを送信でき、それらをリッスンするものはすべてそれらを取得しますが、入力は変更されないA
ため、たとえば文字が表示されません. これは主にセキュリティ上の問題です。それに関する議論については、「イベントを手動で起動する」を参照してください。
そのため、文字を表示する場合は、キー イベントを送信するときに入力の値を変更する必要があります。そのための jQuery プラグインがあります。 「$.fn.sendkeys
プラグイン」を参照してください。
この jsFiddle<input>
で、ユーザーが適用したキー、キー イベント、およびそのプラグインに がどのように反応するかを確認できます。
参考までに、これは jsFiddle の重要なコードです。
$("button").click ( function (zEvent) {
if (zEvent.target.id == "simA_plain") {
console.log ("Send Plain key event");
var keyVal = 65;
$("#eventTarg").trigger ( {
type: 'keypress', keyCode: keyVal, which: keyVal, charCode: keyVal
} );
}
else {
console.log ("Use the Plugin to simulate a keystroke");
$("#eventTarg").sendkeys ("B") ;
}
} );
「での入力をシミュレートする」だけの場合は、そのプラグインで十分です<input>
。ただし、実際に何をしようとしているかによっては、次の 1 つ以上を実行する必要がある場合があります。
- テキストを好きなように設定するだけです。
keydown
ページの JavaScript がそれからトリガーされた場合は、イベントを送信します。
- 同様に、
change
ページの JavaScript がトリガーされた場合は、イベントなどを送信します。
- ページの JavaScript を見つけて直接呼び出すだけです。これを行うには、スクリプト インジェクション、ロケーション ハック、
unsafeWindow
および/または@grant none
モードを使用します。
- 他の何か?あなたの本当の目的を述べ、ターゲット ページへのリンクを設定します。