Comment exécuter une autre action après générée par ajax avec jQuery?

J’ai cette fonction ajax avec jQuery. ( http://pastie.org/798788 )

Les sorties sont les suivantes.

Latest Messages or Task To Do

  • Administrator 2010-01-28 08:57:43 to do Change links in message, to do, completed and delete to anchor
  • Administrator 2010-01-28 08:51:15 to do meta tag keywords and description should show from page input/database
  • ... ...

Maintenant j’essaye d’append un autre ajax avec class = “todo”. Cependant, quand j’ai essayé cela pour les tests. Cela n’alerte pas. Il exécute la fonction php.

 $(".todo").click(function(){ event.preventDefault(); alert("hei"); }); 

Je ne suis pas sûr pourquoi. Est-ce parce qu’il est créé par ajax?

Est-ce quelque chose à voir avec la liaison?

Comment puis-je le faire fonctionner?

Je remercie votre aide d’avance.

Information additionnelle. En passant, j’utilise codeigniter. Les autres fonctions php sont ici . (http://pastie.org/798802)

Il semble que vous deviez utiliser la liaison d’événement live -style et nommer l’object événement en tant que paramètre du gestionnaire de clics.

 $(".todo").live('click', function(event) { event.preventDefault(); ... }); 

Vous devrez utiliser un événement en direct :

 $(".todo").live('click', function() { // <- Extend the "click" event to every .todo element created in the future event.preventDefault(); alert("hei"); }); 

Je ne suis pas sûr de bien comprendre comment tout se passe. Mais si vous insérez les liens avec la classe ‘todo’ après avoir exécuté la fonction ‘bind’, vous devez soit: a) appeler à nouveau la fonction bind (première déconnexion). b) Utilisez la fonction jquery live pour vous attacher automatiquement à toute nouvelle classe ‘todo’.