if(characterCode == 13)
{
return false; // returning false will prevent the event from bubbling up.
}
else
{
return true;
}
Ok, entonces imagina que tienes el siguiente cuadro de texto en un formulario:
<input id="scriptBox" type="text" onkeypress="return runScript(event)" />
Para ejecutar un script "definido por el usuario" desde este cuadro de texto cuando se presiona la tecla Intro, y no hacer que envíe el formulario, aquí hay un código de muestra . Tenga en cuenta que esta función no realiza ninguna comprobación de errores y lo más probable es que solo funcione en IE. Para hacer esto correctamente, necesita una solución más sólida, pero obtendrá la idea general.
function runScript(e) {
//See notes about 'which' and 'key'
if (e.keyCode == 13) {
var tb = document.getElementById("scriptBox");
eval(tb.value);
return false;
}
}
devolver el valor de la función alertará al controlador de eventos para que no vuelva a hacer burbujas en el evento y evitará que el evento de pulsación de tecla se siga manejando.
NOTA:
Se ha señalado que ahorakeyCode está en desuso . La siguiente mejor alternativa tambiénwhich ha quedado en desuso .
Desafortunadamente, el estándar preferido key, que es ampliamente compatible con los navegadores modernos, tiene un comportamiento poco fiable en IE y Edge . Cualquier cosa anterior a IE11 aún necesitaría un polyfill .
Además, si bien la advertencia obsoleta es bastante ominosa keyCodey su whicheliminación representaría un cambio radical masivo para un número incontable de sitios web heredados. Por esa razón, es poco probable que vayan a algún lado pronto.