入力テキストボックスにカーソルフォーカスを設定し、キーを設定する必要がある「キープレス」イベントをトリガーする必要があるJavascriptでコードを記述しようとしています。
どうやってするの?createEvent
と を使用して達成できることを読みdispatchEvent
ました。助言がありますか?
入力テキストボックスにカーソルフォーカスを設定し、キーを設定する必要がある「キープレス」イベントをトリガーする必要があるJavascriptでコードを記述しようとしています。
どうやってするの?createEvent
と を使用して達成できることを読みdispatchEvent
ました。助言がありますか?
これを試して
<input type="text" id="input-field" />
<script>
var addData = function(data){
var field = document.getElementById("input-field")
field.value = document.getElementById("input-field").value+data;
var keyboardEvent = document.createEvent("KeyboardEvent");
var initMethod = typeof keyboardEvent.initKeyboardEvent !== 'undefined' ? "initKeyboardEvent" : "initKeyEvent";
keyboardEvent[initMethod](
"keypress", // event type : keydown, keyup, keypress
true, // bubbles
true, // cancelable
window, // viewArg: should be window
false, // ctrlKeyArg
false, // altKeyArg
false, // shiftKeyArg
false, // metaKeyArg
40, // keyCodeArg : unsigned long the virtual key code, else 0
0 // charCodeArgs : unsigned long the Unicode character associated with the depressed key, else 0
);
field.dispatchEvent(keyboardEvent);
}
var registerEvents = function(){
document.getElementById("input-field").addEventListener("keypress",function(event){
alert("Key Pressed : "+ event.target.value)
});
}();
addData("a");
addData("b");
</script>
とにかく、入力されたキーはテキスト フィールドで使用できます。明示的に設定する必要はありません。