Heim  >  Artikel  >  Web-Frontend  >  Wie kann eine falsche Tasteneingabe während der Keydown-Simulation in Chrome behoben werden?

Wie kann eine falsche Tasteneingabe während der Keydown-Simulation in Chrome behoben werden?

Susan Sarandon
Susan SarandonOriginal
2024-10-18 12:39:03609Durchsuche

How to Resolve Incorrect Key Input During Keydown Simulation in Chrome?

Keydown-Simulation in Chrome: Fehlerbehebung bei falscher Tasteneingabe

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:

  • In Firefox oder Safari muss nur „keyCode“ überschrieben werden.
  • In Chrome müssen Sie sowohl „keyCode“ als auch „which“ überschreiben.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn