Acciones con teclas de función

Tengo programadas una serie de teclas, para hacer más cómodas según qué tareas, como puede ser guardar información ... Concretamente la tecla para guardar es la F12, el problema viene cuando se pulsa en Explorer, ya que éste navegador tiene programada dicha tecla para "Herramientas de desarrollo", y al pulsar se ejecuta dicha acción no la que tengo programada yo; por lo que me gustaría saber si se puede bloquear o anular la acción que tiene programada por navegador y así poder ejecutar la que he programado. La solución fácil es cambiar de tecla o hacer una combinación que no esté contemplada en ningún navegador, pero eso no quitaría para que en futuras versiones dicha combinación la cogiese cualquier navegador para realizar alguna acción. He visto que capturando mediante keyCode se podría "anular" la acción, pero no funciona.

¿Alguien ha realizado esto y ha funcionado?

1 respuesta

Respuesta
1

Hola algoran

Como recomendación, no es buena idea sobreescribir las teclas de función con acciones personalizadas, ya que a nivel de experiencia de usuario es algo nefasto (el usuario espera que al pulsar F1 le salga la ayuda, al hacer Ctrl+C copiar o al pulsar F12 la consola de desarrollador por ejemplo).

Dicho esto te enlazo con una librería que permite añadir atajos de teclado mediante javascript de forma muy sencilla y previniendo que se ejecute la acción por defecto, se llama Shortcuts

En la web tienes toda la información para crear tu atajo (está en inglés, espero que no sea un problema) pero basicamente tendrás que bajarte la librería, enlazarla en tu head y configurar el atajo de un modo similar a este:

Shortcut.add("F12",function() {
    alert("F12 pulsado");
});

¡Gracias! 

Haré lo siguiente, como tengo 3 teclas, programadas para hacer / deshacer cosas ... pero tambien se pueden realizar pulsando con el mouse ... en dos de ellas, que son visualización / ocultación de elementos, quitaré dichas teclas, en la otra que es "Guardar" esa la mantendré (F12), entra en "conflicto" con Explorer, pero no con Mozilla ni con Chrome, al menos de momento ... Pondré esa advertencia en la ayuda, que para Explorer dicha tecla no funciona, o puedo cambiarla, ya que lo que hace es visualizar código y eso no termina de gustarme ...

Ya veremos es algo que no me preocupa demasiado, ya que la solución es bastante simple: quitar la detección o la programación de dichas teclas en mi web.

¡Perfecto! No olvides valorar la respuesta ;)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas