Key Combination + Code Execution


/ Published in: jQuery
Save to your folder(s)

Una forma de vincular combinaciones de teclas con ejecución de codigo.
se supone que tengamos un array (arrShortCut) que define lo siguiente:
un nombre (solo para referencia) ;
un codigo teclado (http://www.js-x.com/page/tutorials__key_codes.html)
una función a ejecutar
en la variable "iShortCutControlKey" definimos cual es la tecla de control (en este caso 17 CTRL) ;
al keydown, si es la tecla control "activamos el estado";
al keyup, si es la tecla control "desactivamos el estado";
si se verifica un keydown de una tecla "no control" con "el estado activo"
buscamos en el array si existe un preset para esa tecla;
si existe llamamos la funcion "execShortCut" que ... ejecuta la función;
Para probarlo solo pegar... CTRL+Z = alert(2)


Copy this code and paste it in your HTML
  1. var arrShortCut = [{ name: 'test1', key: 15, fx: 'alert(1);' }, { name: 'test2', key: 90, fx: 'alert(2);'}];
  2.  
  3. var iShortCutControlKey = 17; // CTRL;
  4. var bIsControlKeyActived = false;
  5.  
  6. $(document).keyup(function(e) {
  7. if (e.which == iShortCutControlKey) bIsControlKeyActived = false;
  8. }).keydown(function(e) {
  9. if (e.which == iShortCutControlKey) bIsControlKeyActived = true;
  10. if (bIsControlKeyActived == true) {
  11. jQuery.each(arrShortCut, function(i) {
  12. if (arrShortCut[i].key == e.which) {
  13. execShortCut(arrShortCut[i].fx);
  14. return;
  15. }
  16. });
  17. }
  18. });
  19.  
  20. function execShortCut(fx) {
  21. eval(fx);
  22. }

Report this snippet


Comments

RSS Icon Subscribe to comments

You need to login to post a comment.