Untuk mensimulasikan peristiwa keydown pada elemen textarea tertentu dalam Chrome, anda harus menggunakan kaedah initKeyboardEvent. Walau bagaimanapun, kod awal yang anda berikan menerima hasil yang berbeza - kod kekunci Enter, bukannya kod kekunci m yang dimaksudkan.
Untuk membetulkannya, anda perlu mengatasi kedua-dua Kod kunci dan sifat objek Papan KekunciEvent. Berikut ialah kod yang dikemas kini:
<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>
Dengan mengatasi kedua-dua sifat, anda memastikan penyemak imbas menerima nilai kod kunci yang betul. Penyelesaian ini secara berkesan mensimulasikan peristiwa keydown untuk kunci yang ditentukan, membolehkan anda mencapai kefungsian yang diingini.
Atas ialah kandungan terperinci Bagaimana untuk Menentukan Kod Kunci dengan betul untuk Simulasi Keydown dalam Chrome?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!