Heim  >  Artikel  >  Web-Frontend  >  Wie werden Keycodes für Keydown-Simulationen in Chrome korrekt angegeben?

Wie werden Keycodes für Keydown-Simulationen in Chrome korrekt angegeben?

Susan Sarandon
Susan SarandonOriginal
2024-10-18 13:13:02583Durchsuche

How to Correctly Specify Keycodes for Keydown Simulations in Chrome?

Keydown-Simulation in Chrome: Parameter zum Angeben der richtigen Taste

Um Keydown-Ereignisse für ein bestimmtes Textbereichselement in Chrome zu simulieren, sollten Sie die Methode initKeyboardEvent verwenden. Der ursprüngliche Code, den Sie angegeben haben, hat jedoch ein anderes Ergebnis erhalten – den Enter-Tastencode anstelle des vorgesehenen M-Tastencodes.

Um dies zu korrigieren, müssen Sie sowohl den keyCode als auch die which-Eigenschaften des KeyboardEvent-Objekts überschreiben. Hier ist der aktualisierte Code:

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

Durch das Überschreiben beider Eigenschaften stellen Sie sicher, dass der Browser den richtigen Schlüsselcodewert empfängt. Diese Lösung simuliert effektiv das Tastendruckereignis für die angegebene Taste, sodass Sie die gewünschte Funktionalität erreichen können.

Das obige ist der detaillierte Inhalt vonWie werden Keycodes für Keydown-Simulationen in Chrome korrekt angegeben?. 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