por ejemplo
Código:
el alert sale cuando presionas alt+a ... la cuestion es que luego de la primer ejecucion la funcion se sigue ejecutando cada vez que presionas la tecla a -sin el alt-myElement.addEvent('keydown:keys(alt+a)', function(){ alert('You pressed the following keys: alt and a'); });
luego de meterme un poco en el codigo decidi escribir mi propia versión del plugin
Código:
(function(){ var stack=[]; var map; var _this; hotKeys=new Class ({ initialize:function(args) { if(_this) return; //single instance map = args || {}; _this=this; $(document).addEvent('keydown',this.add); $(document).addEvent('keyup',this.clear); }, add:function(e) { e.stop(); if(stack.contains(e.key))return stack.push(e.key); if(map[_this.getkey()]) { map[keys](); return ; } stack.push('+'); }, clear:function(e) { e.stop(); for(var i=stack.length;i--;) if (stack[i]===e.key){stack.splice(i,2);} }, getkey:function() { keys=''; stack.each(function(i) { keys+=i; }) return keys; } }) })(); //aqui creamos nuestro listener window.addEvent('domready', function() { new hotKeys( { 'control+alt+n':function(){alert('control+alt+n');}, 'control+alt+g':function(){alert('control+alt+g');} }); });
Aquí me encontré otra vez con el mismo comportamiento... pero esta vez me quedo clara la razón, cuando se presiona y sostiene una combinación de teclas del estilo alt+a y luego se sueltan el evento keyup no se ejecuta para la tecla alt y ninguna de las F1 .. F12 ...
Alguna idea de como resolver esto??? nota: en chrome funciona....