javascript events - ejemplo - Detener el evento keypress
keydown javascript keycode (6)
Aquí detuve el evento burbujeando para las teclas arriba / dn / izquierda / derecha:
$(document).on("keydown", function(e) {
if(e.keyCode >= 37 && e.keyCode <= 40) {
e.stopImmediatePropagation();
return;
}
});
También probé e.preventDefault o event.cancelBubble = true a partir de las respuestas anteriores, pero no tuvieron ningún impacto.
Cómo detener el evento de pulsación de tecla en keydown.
Tengo un controlador de reducción de teclas en el que necesito detener el evento de pulsación de tecla.
En realidad tengo un formulario y un cuadro de texto en él.
Cuando el usuario presione la tecla "enter", presione el botón i para activar el evento y tener el controlador.
El envío de formulario se activará al presionar tecla, por lo que debo detener el evento de presionar tecla en mi controlador de tecla abajo.
En Opera, debe usar el evento de keypress
para evitar las acciones predeterminadas para eventos de teclado. keydown
funciona para evitar la acción predeterminada en todos los navegadores pero no en Opera.
Vea esta larga lista de inconsistencias en el manejo del teclado en todos los navegadores.
Escribir,
<script type="text/javascript">
function keyDn(obj)
{
if(window["event"]["keyCode"]==48) // key 0 will disabled keyPress event
{
obj["onkeypress"]=null;
}
}
function keyPs(obj)
{
alert("Keypress");
}
</script>
<form id="form1" runat="server">
<div>
<input type="text" onkeydown="keyDn(this)" onkeypress="keyPs(this)" />
</div>
</form>
en el controlador keydown.
Pruebe event.cancelBubble = true
en el controlador de eventos.
Pude obtener el evento.preventDefault (); para trabajar en Safari y Firefox, pero no en IE7 o IE8.
Si solo desea deshabilitar la tecla enter, asegúrese de que también esté verificando el valor de la tecla (13 para Enter) y que solo esté configurando event.preventDefault () para esa tecla.
¿Alguien capaz de encontrar una respuesta para IE7 / 8 u Opera?
function onKeyDown(event) {
event.preventDefault();
}
http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-Event-preventDefault
o
function onsubmit(event) {
return false;
}
devuelve false para detener la propagación de eventos