Je suivais ce fil pour désactiver/activer le clic sur un bouton, Best way to remove an event handler in jQuery?jquery: live() - vit seulement une fois?
son idée est que vous pouvez également utiliser la méthode en direct() pour activer/désactiver les événements. Ce qui se passera avec ce code, c'est que lorsque vous cliquez sur un élément-tag, par exemple, .load-item, il ajoutera la classe désactivée à cet élément. Cela fera en sorte que le sélecteur ne corresponde plus à l'élément et que l'événement ne sera pas déclenché tant que la classe 'disabled' n'aura pas été supprimée, rendant le sélecteur .live() de nouveau valide.
est inférieur à ce que je suis sorti avec et il ne désactive le clic sur le premier bouton,
$('.load-item:not(.disabled)').live('click',function(){
/* add a .current class to the target item */
$(this).parentsUntil('.column-global').addClass('current');
/* add .disabled class to each a tag in the .current element-div */
$('.current a').each(function(index) {
$(this).addClass('disabled');
});
....
});
et j'ai une autre fonction pour supprimer la classe désactivée lorsque vous cliquez sur un autre bouton,
$('.button-return').click(function(){
...
/* remove all the .disabled class if any exists */
$('.current a').each(function(index) {
$(this).removeClass('disabled');
});
...
/* remove all the .current class if any exists */
$('.item-global').removeClass('current');
return false;
});
J'ai vérifié qu'il supprime la classe disabled, mais le premier bouton n'est toujours pas à l'état cliquable d'origine.
ai-je manqué quelque chose - ou le live() ne vit qu'une fois seulement? de meilleures solutions si vivre() n'est pas celui sur lequel je devrais travailler ??
merci.
Pourquoi '.button-return' doit-il être actif? Je ne vois pas que cette classe est manipulée dynamiquement n'importe où ... –
l'a essayé mais ne fonctionne toujours pas après avoir ajouté live() au .button-return. merci à propos de removeClass(). – laukok
@lauthiamkok ... Testé la fonctionnalité de base et créé une démo. la démo de base fonctionne parfaitement. Essaie. –