Sepa si la entrada está en uso y deshabilite la tecla de acceso rápido (Jquery)

Yo uso algunos teclas de acceso rápido en mi sitio web, pero cuando el usuario está dentro del formulario de búsqueda o dentro del comentario. Quiero desactivarlos.

¿Qué es lo mejor para mí para hacerlo? Gracias

Ejemplo de mi tecla de acceso rápido:

$(document).keydown(function(e)
{
    if (e.which == 40 || e.which == 74) // next post
    { 
        return scroll('next');
    }

    if (e.which == 38 || e.which == 75) // prev post
    { 
        return scroll('prev');
    }
});

preguntado el 02 de febrero de 12 a las 11:02

2 Respuestas

Puede comprobar el event.target elemento. Si ese elemento es del tipo INPUT es posible que desee omitir el código del controlador. Podría verse como

$(document).keydown(function(e)
    {
        if( e.target.nodeName !== 'INPUT' ) {
            if (e.which == 40 || e.which == 74) // next post
            { 
                return scroll('next');
            }

            if (e.which == 38 || e.which == 75) // prev post
            { 
                return scroll('prev');
            }
        }
});

Respondido 02 Feb 12, 15:02

Podrías comprobar si e.target.nodeName === INPUT (el evento se activa dentro de un campo de entrada) y actuar en consecuencia

Respondido 02 Feb 12, 15:02

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.