[RESOLU] jQuery .load() + .clone()

Eléphanteau du PHP | 29 Messages

02 avr. 2015, 12:19

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 !

ViPHP
ViPHP | 1996 Messages

04 avr. 2015, 00:53

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");
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Eléphanteau du PHP | 29 Messages

04 avr. 2015, 09:51

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"); }); });