viernes, 11 de mayo de 2012

Controlar tecla Enter en keypress con jQuery y combinación de teclas

Mediante jQuery es muy sencillo controlar que el usuario ha pulsado una determinada tecla. Para ello cada tecla tiene un código numérico que la identifica. La tecla Enter sería el número 13.


Si por ejemplo, queremos controlar que el usuario pulsa la tecla Enter en un campo de texto de un formulario, para, por ejemplo, realizar el envío de dicho formulario, el código para hacerlo sería el siguiente:

    $('#mi_text').keypress(function(e) {  
        if (e.which == 13) {$("#mi_form").submit();}
    })

Cuando se produce el evento keypress del campo de texto con id mi_text, se comprobará si la tecla pulsada es la de código 13 (Enter) y en tal caso se realiza el envío del formulario mi_form.

Para controlar si se ha pulsado una combinación de teclas lo podemos hacer mediante la libreria shortcuts.js, la cual puedes descargar de OpenJS. Su utilización es muy secilla: agregamos la libreria y agregamos un nuevo evento al documento:

    <script src="shortcut.js" type="text/javascript"></script>
    <script type="text/javascript">
    // formato shortcut.add(combinación, función[, opciones]); 
    shortcut.add("Ctrl+z",function() {
        alert("Has pulsado Ctrl+z");
    });
    </script>

En este otro post podeis ver una tabla completa de los códigos de cada tecla: Tabla de caracteres ascii para Javascript

No hay comentarios :

Publicar un comentario