ユーザーの操作に基づいて入力要素に文字を送信しようとしています。は、dispatchEventを使用してプログラムでキーを入力に送信します。
私はdispatchEvent
とKeyboardEvent
を使用しようとしているが、何でも私は、それは例えば
let keyEvent = new KeyboardEvent();
keyEvent.key = 'a';
keyEvent.keyCode = 'a'.charCodeAt(0);
keyEvent.which = event['keyCode'];
keyEvent.altKey = false;
keyEvent.ctrlKey = true;
keyEvent.shiftKey = false;
keyEvent.metaKey = false;
keyEvent.bubbles = true;
ないこれが正しいかどうか確認してください動作しませんが、次のように私はそれを派遣してきました
document.querySelector('input').dispatchEvent(keyEvent);
document.activeElement.dispatchEvent(keyEvent);
document.dispatchEvent(keyEvent);
ボタンをクリックする前にまず入力をフォーカスすると、何も起こりません。何がここで間違っているかもしれない何かの提案?
あなたはそうです。私の間違い。私は単純にキー/文字を入力フィールドに送りたいと思っています。しかし、矢印が右のバックスペース –
のようなキーも入力されますか? –
私はbackspaceのようなキーを入力要素に送ることができると期待しました。しかし、@Microloftの示唆しているように、セキュリティ上の理由からこれを行うことはできませんので、キャレット位置を使用して、自分で操作する必要があります... –