キーイベントを送信することができます。それ以外のイベントを受信すると、が入力されますが、入力はに変更されません。たとえば、A
という文字は表示されません。これは主にセキュリティの問題です。それについての議論については"Manually firing events"を参照してください。
したがって、文字を表示するには、キーイベントを送信するときに入力値を変更する必要があります。そのためのjQueryプラグインがあります。"The $.fn.sendkeys
Plugin"を参照してください。
<input>
がユーザーが適用したキー、キーイベント、およびそのプラグインとthis jsFiddleでどのように反応するかを確認できます。参考のため
、これはそのjsFiddleからのコードの重要な部分です:あなただけの「<input>
に入力してシミュレート」しようとしている場合は、プラグインが十分でなければならないこと
$("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") ;
}
});
。しかし、あなたが本当にがやろうとしているものに応じて、次の一つ以上の操作を行う必要があるかもしれません:
- はちょうどあなたがそれになりたいものにテキストを設定します。
- イベントを送信します。ページのJavaScriptがそのイベントをトリガーした場合です。
- 同様に、ページのjavascriptがそれをトリガーする場合は、
change
イベントなどを送信します。 - ページのJavaScriptを直接検索して呼び出すだけです。 スクリプトインジェクション、ロケーションハック、
unsafeWindow
、および/または@grant none
モードを使用してください。 - 他に何かありますか?あなたの本当の目的を述べ、目標ページにリンクしてください。
本当に役に立ちます:) – shuboy2014