if(characterCode == 13)
{
return false; // returning false will prevent the event from bubbling up.
}
else
{
return true;
}
Ok, alors imaginez que vous avez la zone de texte suivante dans un formulaire:
<input id="scriptBox" type="text" onkeypress="return runScript(event)" />
Afin d'exécuter un script "défini par l'utilisateur" à partir de cette zone de texte lorsque vous appuyez sur la touche Entrée et de ne pas lui soumettre le formulaire, voici un exemple de code. Veuillez noter que cette fonction ne fait aucune vérification d'erreur et ne fonctionnera probablement que dans IE. Pour ce faire, vous avez besoin d'une solution plus robuste, mais vous aurez l'idée générale.
function runScript(e) {
//See notes about 'which' and 'key'
if (e.keyCode == 13) {
var tb = document.getElementById("scriptBox");
eval(tb.value);
return false;
}
}
renvoyer la valeur de la fonction alertera le gestionnaire d'événements de ne plus propulser l'événement, et empêchera l'événement de pression sur les touches d'être traité davantage.
REMARQUE:
Il a été souligné qu'il keyCode
est désormais obsolète . La deuxième meilleure alternative which
a également été déconseillée .
Malheureusement, la norme préférée key
, qui est largement prise en charge par les navigateurs modernes, a un comportement douteux dans IE et Edge . Tout ce qui est plus ancien que IE11 aurait toujours besoin d'un polyfill .
En outre, bien que l'avertissement obsolète soit assez inquiétant keyCode
et which
, leur suppression représenterait un changement radical pour un nombre incalculable de sites Web hérités. Pour cette raison, il est peu probable qu'ils se rendent dans un avenir proche.