if(characterCode == 13)
{
return false; // returning false will prevent the event from bubbling up.
}
else
{
return true;
}
Ok, así que imagine que tiene el siguiente cuadro de texto en un formulario:
<input id="scriptBox" type="text" onkeypress="return runScript(event)" />
Con el fin de ejecutar algunos "definido por el usuario" script desde este cuadro de texto cuando se pulsa la tecla enter, y no haga 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 bien, necesita una solución más robusta, pero obtendrá la idea general.
function runScript(e) {
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 a no burbujear el evento más lejos, y evitará que el evento de pulsación de tecla de ser manejado más.
¿Cómo una llamada a otro usuario define la función del Javascript? – Shyju
¿Qué quiere decir exactamente por usuario definido? Al igual, el usuario escribe algún script en un cuadro de texto y lo ejecuta usando Eval() ??? – Josh
¿Es esta una situación en la que se puede usar PreventDefualt? –