La gestion des événements jQuery décochez() et unbind() événements?
Je veux joindre un événement click d'un bouton de l'élément, puis plus tard de le retirer, mais je ne peux pas obtenir décochez() ou unbind() événement(s) à fonctionner comme prévu. Dans le code ci-dessous, le bouton 'tan' de la couleur et de l'événement click fonctionne.
window.onload = init;
function init() {
$("#startButton").css('background-color', 'beige').click(process_click);
$("#startButton").css('background-color', 'tan').unclick();
}
Comment puis-je supprimer des événements de mes éléments?
OriginalL'auteur Edward Tanguay | 2008-09-23
Vous devez vous connecter pour publier un commentaire.
Il n'y a pas une telle chose comme
unclick()
. Où avez-vous ça?Vous pouvez supprimer des gestionnaires d'événements à partir d'un élément en appelant unbind:
Si vous souhaitez supprimer tous les gestionnaires, ou de l'utilisation d'une fonction anonyme en tant que gestionnaire, vous pouvez omettre le deuxième argument de
unbind()
:Merci pour l'info. J'ai creusé un peu plus profond, et a constaté que décochez() a été retirée en jQuery 1.1.
OriginalL'auteur Jim
Ou vous pourriez avoir une situation où vous voulez séparer la fonction de clic juste après que vous l'utilisez, comme j'avais à:
OriginalL'auteur alessioalex
unbind est votre ami.
OriginalL'auteur redsquare
Êtes-vous sûr de vouloir supprimer la liaison? Que si plus tard vous souhaitez lier à nouveau, et encore, et encore? Je n'aime pas la dynamique de gestion des événements lier/délier, car ils ont tendance à sortir de la main, lorsqu'il est appelé à partir de différents points de votre code.
Vous souhaitez mai à envisager d'autres options:
Juste mes 2 cents, pas une solution universelle.
OriginalL'auteur Filini