2011-01-06 5 views

Respuesta

5

¿Qué hay de

$(document).bind('keyup', function (evt) { 
    if (evt.keyCode == 191) 
     alert("go"); 
}); 
+3

Esto sólo funciona en los teclados QWERTY PORQUE está en la tecla "/". Cuando presionas "?", Activa el código de tecla 191, que es "/". – nickh

3

creo que el evento tiene una bandera de si se ha presionado la tecla de mayúsculas, por lo que probablemente va a querer hacer algo como esto (nunca he utilizado js-teclas de acceso rápido, así que puede estar completamente equivocado):

$(document).bind('keydown', '/', function (evt) 
{ 
    if (evt.shiftKey) //or whatever the flag for the shift key may be 
    { 
    alert('go'); 
    } 
}); 
+1

por supuesto, esto también asume que '?' Es la alternativa en la tecla '/'. Si está utilizando accesos directos semánticos, probablemente sea mejor que escuche el 'keyCode' correcto – zzzzBov

+0

no lo entiendo. ¿Estás diciendo que debería usar la tecla Mayús +? – AnApprentice

+0

Estoy diciendo que debes unirlo a la 'tecla de mayúsculas' más la tecla'/'ya que eso es lo que crea un' '' en un teclado 'qwerty' estándar. – zzzzBov

2

Mira que la siguiente se disparará incluso dentro de un cuadro de entrada:

$(document).bind('keyup', function (evt) { 
    if (evt.keyCode == 191) 
     alert("go"); 
});

Solut ión:

$(document).bind('keyup', function(e) { 
    if(e.keyCode === 191 && !$(e.target).is("input")) 
     alert("go"); 
});

Tenga en cuenta que lo mismo sucederá para texarea.

0

Usando js-teclas de acceso rápido, que se uniría el signo de interrogación utilizando la cadena: "?"

shift+/ 
Cuestiones relacionadas