Tastaturereignisse werden ausgelöst, wenn die Tastatur gedrückt wird, in der Reihenfolge Tastendruck –>Tastendruck –>Tastendruck.
1. Die Keydown- und Keypress-Ereignisse werden ausgelöst, bevor der Text in das Textfeld eingegeben wird. Wenn der Text im Textfeld in den Keydown- oder Keypress-Ereignissen ausgegeben wird, wird der Text vor dem eingegeben Tastaturereignis wird ausgelöst, und keyup Wenn das Ereignis ausgelöst wird, ist der gesamte Tastaturereignisvorgang abgeschlossen. Was erhalten wird, ist der Text, nachdem das Tastaturereignis ausgelöst wurde. Geben Sie die Nummer 1 ein Textfeld und das Ausgabeergebnis ist:
<input id="input" value="default" type="text" /> <script>var input = document.getElementById('input'); input.onkeydown = function() { console.log('onkeydown ' + this.value); } input.onkeypress = function() { console.log('onkeypress ' + this.value); } input.onkeyup = function() { console.log('onkeyup ' + this.value); }</script>
2. Der Hauptunterschied zwischen dem Tastendruckereignis und Keydown und Keyup
onkeydown default onkeypress default onkeyup default1
des Browsers abgeschlossen ist, d In das Textfeld eingegeben (obwohl es noch nicht angezeigt wird). Weder „preventDefault“ noch „return false“ können das Verhalten der Texteingabe in das Textfeld verhindern Verhindern Sie dies während des Tastendrucks oder Tastendrucks. Das Ergebnis ist die Rückgabe von „false“ bei den Ereignissen „keydown“ und „keypress“.
Das Tastaturantwortereignis des Textfelds ist auch: keydown -> keyup<input id="input" value="default" type="text" /> <script>var input = document.getElementById('input'); input.onkeydown = function() { //return false; console.log('onkeydown ' + this.value); } input.onkeypress = function() { //return false; console.log('onkeypress ' + this.value); } input.onkeyup = function() { return false; console.log('onkeyup ' + this.value); }</script>
Das textInput-Ereignis wird hauptsächlich als Ersatz für Tastendruck verwendet. Der Hauptunterschied zu Tastendruck besteht darin, dass es die chinesische Eingabemethode unterstützt. Ein weiterer Punkt besteht darin, dass textInput nur mit bearbeitbarem Text funktioniert ausgelöst (z. B. Eingabe, Textbereich) und Tastendruck können durch jedes
-Steuerelementausgelöst werden, das den Fokus erhalten kann (z. B. eine Schaltfläche). Derzeit ist dies jedoch nicht sehr gut unterstützt durch Safari und Chrome.
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des Unterschieds zwischen jQuery-Tastaturereignis „Keydown' und „Keypress'.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!