Partage
  • Partager sur Facebook
  • Partager sur Twitter

jQuery desactiver function .click

après un click

Sujet résolu
20 décembre 2009 à 19:04:16

salut

J'ai plusieurs éléments cliquable dans un div lorsque je clique sur un des éléments (des span pour info) ma fonction fonctionne parfaitement mais je voudrais qu'une fois la fonction fini je ne puisse plus cliquer sur ce span.
<div id='test'>
<span class='clique' id='premier'>Premier</span>
<span class='clique' id='deuxieme'>Deuxieme</span>
<span class='clique' id='troisieme'>Troisieme</span>
</div>

$("#test .clique").click( function(){
alert($(this).attr('id));
});


C'est possible de désactiver une fonction drag ou drop avec $('#mondiv').draggable('disable'); ou $('#mondiv').droppable('disable');
Mais ('#monspan').click('disable'); ne fonctionne pas

Est-ce possible de désactiver ma fonction clique sur l'élément cliquer ?

Merci
  • Partager sur Facebook
  • Partager sur Twitter
20 décembre 2009 à 19:33:58

Le seul moyen que je vois, ce serait un truc dans ce goût là :

$("#test .clique").bind('click',function f(){
  alert($(this).attr('id'));
  $(this).unbind('click',f);
});


En espérant que ça fonctionne.
  • Partager sur Facebook
  • Partager sur Twitter
20 décembre 2009 à 20:16:53

Merci !!

Il faut mettre que : $(this).unbind("click"); pour que sa fonctionne
  • Partager sur Facebook
  • Partager sur Twitter
20 décembre 2009 à 20:58:42

Euh... bah je maintient que le deuxième paramètre f est parfaitement fonctionnel.

D'autant plus, cela te permet de ne supprimer que l'enregistrement de la fonction f (et non pas de toutes les fonctions enregistrées au clic sur cet élément...)

M'enfin. De rien.
  • Partager sur Facebook
  • Partager sur Twitter
18 juillet 2019 à 18:26:48

Bonjour,

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter