if(characterCode == 13) {
// returning false will prevent the event from bubbling up.
return false;
} else{
return true;
}
Stellen Sie sich vor, Sie haben das folgende Textfeld in einem Formular:
<input id="scriptBox" type="text" onkeypress="return runScript(event)" />
Um ein "benutzerdefiniertes" Skript in diesem Textfeld auszuführen, wenn die Eingabetaste gedrückt wird, und das Formular nicht abzuschicken, gibt es folgendes Muster Code. Bitte beachten Sie, dass diese Funktion keine Fehlerprüfung durchführt und höchstwahrscheinlich nur im IE funktionieren wird. Um dies richtig zu tun, benötigen Sie eine robustere Lösung, aber Sie werden die allgemeine Idee bekommen.
function runScript(e) {
//See notes about 'which' and 'key'
if (e.keyCode == 13) {
var tb = document.getElementById("scriptBox");
eval(tb.value);
return false;
}
}
Wenn der Wert der Funktion zurückgegeben wird, wird der Ereignishandler gewarnt, das Ereignis nicht weiter zu behandeln, und verhindert, dass das Tastendruckereignis weiter behandelt wird.
NOTE :
Es wurde darauf hingewiesen, dass keyCode
es jetzt veraltet . Die nächstbeste Alternative which
hat wurde ebenfalls veraltet .
Leider ist der bevorzugte Standard key
die von modernen Browsern weitgehend unterstützt wird, hat einige Fragwürdiges Verhalten in IE und Edge . Alles, was älter als IE11 ist, benötigt immer noch eine Polyfill .
Darüber hinaus ist die veraltete Warnung zwar recht bedrohlich in Bezug auf keyCode
y which
Die Abschaffung dieser Systeme würde einen massiven Einschnitt für unzählige ältere Websites bedeuten. Aus diesem Grund, ist es unwahrscheinlich, dass sie in nächster Zeit irgendwo hingehen.