JQuery> Lancer un script sur un élément créé par JQuery - Javascript/Node.js - Programmation
Marsh Posté le 08-10-2014 à 14:17:08
Tu essayes de supprimer le bouton là, non?
Je ne suis pas adepte du JQuery mais il n'y a pas de raison que la suppression d'un élément créé dynamiquement ne se fasse pas puisque ça fonctionne très bien en JS :
Code :
|
Marsh Posté le 08-10-2014 à 17:37:53
En fait ce que j'utilise "analyse" le document à son chargement mais pas ensuite si des éléments sont ajoutés dynamiquement, d'où mon souci.
Avec une fonction ça marche oui mais j'ai trouvé autre chose avec JQuery qui fonctionne:
Code :
|
Marsh Posté le 09-10-2014 à 09:27:32
Oui là tu fais dépendre ton évènement de "body" qui de toute façon est créé dès le départ. Je pense qu'ici Jquery ajoutera l'évènement à ton bloc que quand l'utilisateur cliquera sur le "body" et donc ton élément ajouté existera déjà.
Marsh Posté le 09-10-2014 à 12:57:46
J'imagine que les deux bouts de codes de ton premier post sont appelés dans un
Code :
|
Si c'est bien le cas, au chargement de la page (quand le DOM est prêt), tu recherches tous les nœuds portant ta classe de suppression et tu leur bind ta fonction de suppression au click. Si tu ajoutes d'autres nœuds par la suite (ce que tu fais au clic sur un '.ajoutPreparation'), eux n'auront pas ce binding.
Il te faut un truc de ce genre, en reprenant ton code
Code :
|
J'ai rien testé, c'est pour la logique du truc.
Marsh Posté le 10-10-2014 à 14:05:14
MaybeEijOrNot> Non non, avec cette méthode ça fonctionne aussi pour les éléments qui sont créés dynamiquement pas de souci.
Merci pour vos proposition mais c'est celle que je donne en second fonctionne aussi et est relativement simple (enfin, une fois qu'on l'a trouvé ).
Marsh Posté le 10-10-2014 à 21:48:22
Oui c'est ce que je dis, la méthode fonctionne bien car elle ajoute probablement (je ne suis pas allé voir dans les fichiers de Jquery) l'évènement que quand le client cliquera sur body et donc qu'une fois que ton élément aura été ajouté dynamiquement.
Marsh Posté le 12-10-2014 à 01:49:37
Furaxx a écrit : En fait ce que j'utilise "analyse" le document à son chargement mais pas ensuite si des éléments sont ajoutés dynamiquement, d'où mon souci.
|
Oui, ça marche très bien, c'est ce qu'on appelle les delegated events.
Par contre, tu devrais le faire sur le parent ou conteneur, ça serait mieux. (plutôt que body)
Marsh Posté le 08-10-2014 à 11:57:08
Je vous expose mon souci:
Donc j'ai un bouton tout ce qu'il y a de plus classique, qui me permet de créer un bloc contenant un textarea et un bouton de suppression à côté:
Ensuite, j'ai un autre code qui permet, quand on clique sur le bouton "supprPreparation" de supprimer la ligne en question:
Mon souci est que l'étape "SupprPreparation" ne fonctionne que sur les blocs présents dès le chargement de la page.
Si je crée un bloc avec "ajoutPreparation" et que je clique ensuite sur son bouton "SupprPreparation", la fonction ne se lance pas et il ne se passe donc rien.
Je souhaiterais donc que JQuery prenne en compte les éléments créés dynamiquement après le chargement de la page.
Merci!