Básicamente, estoy usando jQuery Hotkeys plugin por el Sr. Resig para capturar y manejar los atajos como ctrl+o
etc ...jQuery teclas de acceso rápido ... no tan globales
OK, tal vez no lo uderstand el concepto, pero estaba con la impresión de que ctrl+o
activado en cualquier parte dentro del documento será capturado por un controlador de teclas rápidas de documentos.
Por ejemplo, el código siguiente funciona en general ...
jQuery(document).bind('keydown', 'ctrl+o', fn);
Sin embargo, fracasa miserablemente si el usuario activa la tecla de acceso directo cuando dentro de un cuadro de entrada.
sólo funciona si hago lo siguiente:
jQuery('body, input').bind('keydown', 'ctrl+o', fn);
que es bastante malo para mi salud, ya que implica la unión del maldito manipulador cada vez que se añade un nuevo cuadro de entrada para el DOM. Peor aún, no tengo idea a qué vincularme en el caso de widgets complejos como CodeMirror.
No sé si mi problema tiene sentido, ¿quizás estoy usando el enfoque equivocado? También he tratado de unión a los siguientes objetos, pero no funcionó: window
, document
, body
, div[contains the whole page]
NB: Puedetry it out here.
quizás pueda usar el 'on()' aquí? por lo que funcionará con cada entrada que se haya agregado. ¿O me estoy perdiendo algo? –
@Topener No quiero * solo * enlazar a todas las entradas * actuales *, sino también a las * futuras *. La belleza de agregar eventos de esta manera es que no necesita variables globales para contener sus funciones de manejo de eventos, solo lo hace una vez cuando sea necesario. – Christian
Pero el punto aquí no se trata de que yo agregue los eventos, sino que la funcionalidad de la tecla de acceso rápido debería hacerlo ella misma. Quiero decir, ese es el punto de una tecla de acceso rápido ... presionar 'ctrl + s' en el editor de Netbeans produce el mismo efecto de hacerlo dentro de la lista de proyectos de netbeans (como un ejemplo). – Christian