Chrome で特定の textarea 要素のキーダウン イベントをシミュレートするには、initKeyboardEvent メソッドを利用する必要があります。ただし、指定した最初のコードは、意図した m キーコードではなく、Enter キーコードという異なる結果を受け取りました。
これを修正するには、keyCode と KeyboardEvent オブジェクトの what プロパティの両方をオーバーライドする必要があります。更新されたコードは次のとおりです:
<code class="javascript">var keyEvent = document.createEvent('KeyboardEvent'); // Override both keyCode and which Object.defineProperty(keyEvent, 'keyCode', { get: function() { return this.keyCodeVal; } }); Object.defineProperty(keyEvent, 'which', { get: function() { return this.keyCodeVal; } }); keyEvent.initKeyboardEvent('keydown', true, false, null, 0, false, 0, false, 77, 0); keyEvent.keyCodeVal = 77; inputNode.dispatchEvent(keyEvent);</code>
両方のプロパティをオーバーライドすることで、ブラウザーが正しいキーコード値を受け取るようになります。このソリューションは、指定されたキーのキーダウン イベントを効果的にシミュレートし、目的の機能を実現できるようにします。
以上がChrome でキーダウン シミュレーションのキーコードを正しく指定する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。