IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Suppression et recréation de bouton, il perd ses évènements associés


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de jamdinhe
    Inscrit en
    Avril 2006
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 167
    Par défaut Suppression et recréation de bouton, il perd ses évènements associés
    bonjour,
    J'ai un élément <div id="bouton"> sur lequel j'exécute un certain nombre d'instructions javascript à partir de $(document).ready, tout est bon, la fonction retoune un résultat.
    Ailleur dans mon code,je fait removeChild() pour supprimer le div et je le recrée avec createElement() et appendChild() avec le même id que celui de tout à l'heure, mais surprise, la fonction ne retourne plus aucun résultat.

    Je ne sais pas si c'est en lien avec le DOM ou autre mais je vous demande de bien vouloir m'aider sur ce probleme carca fait deja une semaine que je bloque dessus
    Merci a tout ceux qui veulent aider
    Amine

  2. #2
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut
    salut,
    puisque tu utilises JQ alors passe par .detach() et .append() pour garder les évènements actifs

  3. #3
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    Ben oui quand tu utilise removeChild, c'est l'équivalent de la fonction jquery remove() et cela efface l'objet concerné et les comportements qui lui sont affectés.
    Donc soit tu recrée une fonction qui fait l'équivalent de "detach", soit tu dois reprogrammer les évènements sur ton objet mais le plus simple reste encore d'utiliser la fonction dédiée jquery "detach".

  4. #4
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonsoir

    Petit test sur la méthode detach(), on peut même changer l'ID avant de réinsérer le fragment du DOM, l'événement fonctionne toujours.

    <a id="aID" href="www.google.com">Ici</a>.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    $( function(){
     
    	$( "#aID" ).on( "click", function(){
    		console.log( this.href, $( this ).attr( "href" ) );
     
    		return false;
    	});
     
    	var jObj = $( "#aID" ).detach();
     
    	jObj[0].id = "anID";
     
    	console.log( jObj );
     
    	$( "section.conteneur" ).append( jObj );
     
    });

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

Discussions similaires

  1. un objet corba perd ses réferences
    Par kos.noura dans le forum CORBA
    Réponses: 3
    Dernier message: 03/04/2009, 10h04
  2. Réponses: 0
    Dernier message: 04/12/2008, 15h10
  3. Réponses: 1
    Dernier message: 19/06/2008, 21h05
  4. Suppression de tous les boutons de commandes d'une feuille
    Par e040098k dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 04/01/2008, 19h13
  5. [Excel] Bouton qui perd son nom
    Par steps5ive dans le forum Excel
    Réponses: 2
    Dernier message: 21/03/2007, 13h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo