„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > 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?

Veröffentlicht am 03.11.2024
Durchsuche:326

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:

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);

Dieser Code überschreibt die Eigenschaften „keyCode“ und „which“, um sicherzustellen, dass Chrome das Ereignis korrekt interpretiert und den gewünschten Schlüsselwert (77) für die Taste „m“ auslöst.

Freigabeerklärung Dieser Artikel wird unter folgender Adresse abgedruckt: 1729225517 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3