2009-07-12 10 views
100

Lorsque vous utilisez l'exemple de code de la documentation jQuery pour le gestionnaire d'événements de touche, je ne parviens pas à capturer la clé Delete. L'extrait ci-dessous va vous connecter 0 lorsque la touche Supprimer est enfoncée dans FireFox:Capture de la touche "Supprimer" avec jQuery

$(document).keypress(function(e) { 
    console.log(e.which);  
}); 

Semble Il doit y avoir un moyen de capturer la Supprimer clé, mais il est un terme ambigu si Google n'est pas prouvant être beaucoup d'aide avec cela.

Répondre

176

Vous ne devriez pas utiliser l'événement keypress, mais l'événement keyup ou keydown parce que l'événement keypress est destiné à des personnages réels (imprimables). keydown est géré à un niveau inférieur de sorte qu'il va capturer toutes les touches non imprimables comme supprimer et entrer.

+2

Merci, monsieur! –

+0

Merci pour le peu d'informations utiles. –

+0

votre information a résolu mon problème. Merci –

70
$('html').keyup(function(e){ 
    if(e.keyCode == 46) { 
     alert('Delete key released'); 
    } 
}); 

Source: javascript char codes key codes de www.cambiaresearch.com

+18

Il devrait être 'alert ('Delete Key Released')'. – Waldheinz

+0

si quelqu'un utilise keypress au lieu de keyup a suggéré par Tod alors vous obtiendriez keycode == 46 événement contre. clé (point). mais cela fonctionne bien avec keyUp. Merci –

+1

Merci pour la source, super référence! – Fidel90

25

Javascript codes d'activation

  • e.keyCode == 8 pour backspace
  • e.keyCode == 46 pour Retour arrière vers l'avant oubouton Supprimer dans
  • PC

Sauf ce détail Colin & la réponse de Tod travaille.

+3

Il devrait être ** e.keyCode ** et pas e.KeyCode – Jerome

1

event.key === "Supprimer"

Plus récent et plus propre: utiliser event.key. Plus de codes numériques arbitraires!

document.addEventListener('keydown', function(event) { 
    const key = event.key; // const {key} = event; ES6+ 
    if (key === "Delete") { 
     // Do things 
    } 
}); 

Mozilla Docs

Supported Browsers

Questions connexes