if(characterCode == 13)
{
return false; // returning false will prevent the event from bubbling up.
}
else
{
return true;
}
Ok, 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 gesendet wird, finden Sie hier einen Beispielcode . Bitte beachten Sie, dass diese Funktion keine Fehlerprüfung durchführt und höchstwahrscheinlich nur im IE funktioniert. Um dies richtig zu machen, benötigen Sie eine robustere Lösung, aber Sie erhalten eine allgemeine Vorstellung.
function runScript(e) {
//See notes about 'which' and 'key'
if (e.keyCode == 13) {
var tb = document.getElementById("scriptBox");
eval(tb.value);
return false;
}
}
Wenn Sie den Wert der Funktion zurückgeben, wird der Ereignishandler darauf hingewiesen, das Ereignis nicht weiter zu sprudeln, und es wird verhindert, dass das Tastendruckereignis weiter behandelt wird.
HINWEIS:
Es ist schon darauf hingewiesen , dass keyCode
ist jetzt veraltet . Die nächstbeste Alternative which
wurde ebenfalls abgelehnt .
Leider key
weist der bevorzugte Standard , der von modernen Browsern weitgehend unterstützt wird, in IE und Edge ein zweifelhaftes Verhalten auf . Alles , was älter als IE11 würde immer noch einen Bedarf polyfill .
Während die veraltete Warnung in Bezug auf keyCode
und ziemlich bedrohlich which
ist, würde das Entfernen dieser Warnungen eine massive Veränderung für unzählige ältere Websites bedeuten. Aus diesem Grund ist es unwahrscheinlich, dass sie bald irgendwohin gehen.