Page 1 sur 1

jQuery .load() + .clone()

Posté : 02 avr. 2015, 12:19
par KlimPoliakov
Bonjour, j'aimerais cloner sur mon site un contenu qui est chargé à l'aide d'Ajax avec ".load()", voici le code HTML :
<div id="mesimageschargees"></div>
<div id="monimageclonee"></div>
et le code JS :

Code : Tout sélectionner

$( "#mesimageschargees" ).load( "/mapageloadee.html" ); $( "#mesimageschargees img" ).click(function() { $( "#monimageclonee img" ).remove(); $(this).clone().appendTo("#monimageclonee"); });
Au final l'image n'est pas clonée. Par contre si j'utilise le même code mais sans AJAX alors l'image est clonée.. Une solution ? Merci d'avance !

Re: jQuery .load() + .clone()

Posté : 04 avr. 2015, 00:53
par Aureusms
Il s'agit du problème de retour d'AJAX : quand tu fais ta demande l'objet n'est pas encore retourné en mode "success" et donc pas encore dans le DOM.

Essayes avec on() :

Code : Tout sélectionner

$( "#mesimageschargees" ).load( "/mapageloadee.html" ); $(document.body).on({ click : function { $("#monimageclonee img").remove(); $(this).clone().appendTo("#monimageclonee") } },"#mesimageschargees img");

Re: jQuery .load() + .clone()

Posté : 04 avr. 2015, 09:51
par KlimPoliakov
Merci pour ta réponse ! Cela marche aussi :

Code : Tout sélectionner

$( "#mesimageschargees" ).load( "/mapageloadee.html" , function(){ $( "#mesimageschargees img" ).click(function() { $( "#monimageclonee img" ).remove(); $(this).clone().appendTo("#monimageclonee"); }); });