685 votes

Comment détecter échapper à une touche avec du JavaScript?

Double Possible:
Qui code de touche pour la touche d'échappement avec jQuery

Comment détecter échapper appuyez sur la touche dans IE, Firefox et google Chrome? Code ci-dessous fonctionne sous IE, et des alertes 27, mais dans firefox, il avertit 0

$('body').keypress(function(e){
    alert(e.which);
    if(e.which == 27){
        // Close my modal window
    }
});

1231voto

Jigar Joshi Points 116533
$(document).keyup(function(e) {

  if (e.keyCode == 27) { <DO YOUR WORK HERE> }   // esc
});

http://stackoverflow.com/questions/1160008/which-keycode-for-escape-key-with-jquery

287voto

Tim Down Points 124501

L' keydown événement aura beau travail pour s'Échapper et a l'avantage de vous permettre d'utiliser keyCode dans tous les navigateurs. Vous devez également joindre à l'auditeur d' document plutôt que le corps:

document.onkeydown = function(evt) {
    evt = evt || window.event;
    if (evt.keyCode == 27) {
        alert("Escape");
    }
};

46voto

Subodh Ghulaxe Points 2346

À l'aide de JavaScript , vous pouvez le faire vérifier de travail jsfiddle

document.onkeydown = function(evt) {
    evt = evt || window.event;
    if (evt.keyCode == 27) {
        alert('Esc key pressed.');
    }
};

À l'aide de jQuery , vous pouvez le faire vérifier de travail jsfiddle

jQuery(document).on('keyup',function(evt) {
    if (evt.keyCode == 27) {
       alert('Esc key pressed.');
    }
});

21voto

jAndy Points 93076

vérifiez keyCode && which & keyup || keydown

$(document).keydown(function(e){
   var code = e.keyCode ? e.keyCode : e.which;
   alert(code);
});

3voto

Reigel Points 34008

utiliser .keydown() ou .keyup()...

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X