Événement de keyup jQuery MVC3
-
28-10-2019 - |
Question
J'ai une application Web C # .NET MVC3 et je souhaite intercepter l'événement key up sur le document.À savoir, je veux savoir si l'utilisateur a sélectionné "CTL-> Z" pour annuler leurs modifications de données sur la vue Web.Comment puis-je faire cela?
La solution
Je pense que c'est ce que vous recherchez:
var ctrlDown = false;
$(document).keydown(function (e) {
if (e.which == 17)
ctrlDown = true;
if (e.which == 90)
if (ctrlDown)
console.log("control Z");
});
$(document).keyup(function (e) {
if (e.which == 17)
ctrlDown = false;
});
< EDIT
Je ne sais pas si e.ctrlKey de la réponse de mesiesta est compatible avec plusieurs navigateurs, mais si c'est le cas, vous pouvez faire plus simplement:
$(document).keydown(function (e) {
if (e.which == 90 && e.ctrlKey)
console.log("control Z");
});
Autres conseils
Vous pouvez essayer d'utiliser ce Ctrl + Key Combination – Simple Jquery Plugin
.Je n'ai jamais essayé de l'utiliser, mais ça me semble une bonne solution pour ça)))
Voici le lien
http:// www.gmarwaha.com / blog / 2009/06/16 / combinaison-de-touches-ctrl-simple-jquery-plugin /
Voici donc ce code de fonction
$.ctrl = function(key, callback, args) {
$(document).keydown(function(e) {
if(!args) args=[]; // IE barks when args is null
if(e.keyCode == key.charCodeAt(0) && e.ctrlKey) {
callback.apply(this, args);
return false;
}
});
};
Et puis dans votre code, vous devez écrire uniquement
$.ctrl('Z', function() {
//What you want to do
});