In einer mit Chrome erstellten Webanwendung kann die Simulation eines Keydown-Ereignisses für ein Textbereichselement zu Herausforderungen führen. Trotz des Versuchs, einen bestimmten Schlüsselcode anzugeben, empfängt der Textbereich möglicherweise einen falschen Schlüsselwert, z. B. die Eingabetaste anstelle der gewünschten Taste.
Um dieses Problem zu beheben, können Sie einen benutzerdefinierten Code verwenden, der sowohl die „ keyCode‘- und ‚which‘-Eigenschaften im ‚KeyboardEvent‘-Objekt. „keyCode“ ist eine veraltete Eigenschaft, die zugunsten von „which“ veraltet ist. Chrome verhält sich bei diesen Eigenschaften anders:
Der folgende Code bietet ein Beispiel dafür, wie ein Keydown-Ereignis mit dem richtigen „which“-Wert in Chrome simuliert wird:
<code class="js">var keyEvent = document.createEvent('KeyboardEvent'); // Override 'keyCode' and 'which' properties 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>
Dieser Code überschreibt „keyCode“ und „ which'-Eigenschaften, um sicherzustellen, dass Chrome das Ereignis korrekt interpretiert und den gewünschten Schlüsselwert (77) für den 'm'-Schlüssel auslöst.
Das obige ist der detaillierte Inhalt vonWie kann eine falsche Tasteneingabe während der Keydown-Simulation in Chrome behoben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!