Lors de l'utilisation de l'exemple de code de la documentation jQuery pour le gestionnaire d'événements keypress, je suis incapable de capturer le fichier. Delete clé. L'extrait ci-dessous va vous connecter 0
quand le Delete la touche est enfoncée dans FireFox:
$(document).keypress(function(e) {
console.log(e.which);
});
On dirait qu'il doit y avoir un moyen de capturer le Delete clé, mais c’est un terme ambigu, ce qui fait que Google ne nous aide pas beaucoup.
Vous ne devez pas utiliser l'événement keypress
, mais l'événement keyup
ou keydown
, car l'événement keypress
est destiné aux caractères réels (imprimables). keydown
est géré à un niveau inférieur afin de capturer toutes les clés non imprimables comme delete et enter.
$('html').keyup(function(e){
if(e.keyCode == 46) {
alert('Delete key released');
}
});
Source: codes de clé javascript char sur www.cambiaresearch.com
Codes clavier Javascript
Sauf ce détail, la réponse de Colin & Tod fonctionne.
Plus récent et beaucoup plus propre: utilisez 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
}
});