Unbind spécial de l'événement keypress
J'ai une question concernant jQuery événements de pression de touche. J'ai suivantes (travail) code:
$(document).bind('keypress', function(event) {
if ($('#myDiv').is(':visible')) {
if (event.which == 102) {
//...do something...
}
}
else {
if (event.which == 102) {
return;
}
}
});
J'ai toujours "unbind" l'événement avec la liaison d'un autre "plus". Je sais que je peux supprimer la liaison avec .unbind('keypress')
, mais j'ai eu plus d'événements de pression de touche et quand je unbind ce avec $(document).unbind('keypress')
tous mes événements se perdre.
Puis-je faire quelque chose comme "keypress.102" de ne unbind cette "clé" ou comment cela peut-il être fait?!
OriginalL'auteur Mikaelik | 2011-09-21
Vous devez vous connecter pour publier un commentaire.
Vous étiez sur la bonne voie. Cela s'appelle des espaces événements, c'est à dire l'étiquetage des liaisons spécifiques à l'aide de
<event_name>.<namespace>
(dans votre cas, la "pression de touche.102").Par exemple:
vous pouvez par la suite supprimer la liaison que, sans affecter les autres lié événements de pression de touche:
OriginalL'auteur Shawn Chin
Utiliser un espace de noms de l'événement.
http://docs.jquery.com/Namespaced_Events
OriginalL'auteur BNL