11
votes

JQuery: Evénements de clic en direct

Il y a donc deux contraintes à ma question:

  1. Je dois utiliser un appel de fonction externe dans mon événement de clic et
  2. Je dois utiliser un événement de clic en direct, plutôt contraignant un événement de clic typique.

    Mon problème est que j'essaie d'engager un événement d'un clic après avoir lieu, puis la reculer une fois que le code d'événement clic est terminé. Je fais cela pour empêcher les clics en double lorsque le code est actuellement en cours (j'ai une animation FADEIN / OUT qui permettra au bouton d'être cliqué deux fois ou trois fois rapidement, exécutant ainsi mon code 2 ou 3 fois, qui est souhaitée) . Le code que j'utilise est ci-dessous: xxx

    et xxx

    suis fou, ou si cela fonctionne avec pas de problème? En ce moment, je peux cliquer une fois, mais pas de nouveau après. Donc, clairement, le die () fonctionne, mais il n'est pas relié à une raison quelconque de cette fonction. J'ai vérifié que cela atteint le code dans Handleclick () pour rejouer le clic en direct.

    Des idées? Toute aide serait grandement appréciée. Merci.


0 commentaires

3 Réponses :


8
votes

Selon le Documentation :

événements en direct ne fonctionnent actuellement que lorsqu'il est utilisé contre un sélecteur.

$ (this) n'est pas un sélecteur.


1 commentaires

@Greg, intéressant. Peut-être que si j'avais affecté l'événement en direct clic dans la fonction, comme tel: var $ tempvar = $ ('#' + $ (this) .attr ('id')) , puis dit $ tempvar.live ("Cliquez sur", Handleclick) Pensez-vous que cela fonctionnerait?



6
votes

Pour innover les gestionnaires de clic de tout ce qui était lié à l'aide de .Live (), utilisez la méthode .Die (): xxx


0 commentaires

0
votes

Vous pouvez utiliser ce motif pour engager l'élément cliqué et laisser tous les autres en direct: xxx

fonctionne avec jQuery 1.8.2


0 commentaires