Jquery: refresh element enfant après ajax
Résolu
snipchain
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
snipchain Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
snipchain Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous! :)
voilà, j'ai un élément span avec une classe "outfavori" que je remplis dés la fin du chargement du dom avec un élément img avec une classe "masterTooltip"... jusque là, tout se passe bien, mon js "masterTooltip.js" qui se trouve à la fin fonctionne sans souci...
Le problème vient quand je clique sur cet élément span avec la classe "outfavori", j'ai mon élément img qui est bien remplacée après ajax par ce qu'il me faut mais la classe "masterTooltip" ne fonctionne plus sur cet élément nouvellement chargé... avez vous une idée comment cet élément qui suit ajax et inséré dans la span pourrait continuer de fonctionner avec la classe "masterTooltip"? j'ai essayé différentes solutions mais sans succès jusqu à présent... :( j'aurai bien voulu que la possibilité $(document).on('click','.outfavori .masterTooltip', function(){ existe mais comme ce n'est pas le cas...
Merci beaucoup pour votre aide! :)
voilà, j'ai un élément span avec une classe "outfavori" que je remplis dés la fin du chargement du dom avec un élément img avec une classe "masterTooltip"... jusque là, tout se passe bien, mon js "masterTooltip.js" qui se trouve à la fin fonctionne sans souci...
Le problème vient quand je clique sur cet élément span avec la classe "outfavori", j'ai mon élément img qui est bien remplacée après ajax par ce qu'il me faut mais la classe "masterTooltip" ne fonctionne plus sur cet élément nouvellement chargé... avez vous une idée comment cet élément qui suit ajax et inséré dans la span pourrait continuer de fonctionner avec la classe "masterTooltip"? j'ai essayé différentes solutions mais sans succès jusqu à présent... :( j'aurai bien voulu que la possibilité $(document).on('click','.outfavori .masterTooltip', function(){ existe mais comme ce n'est pas le cas...
<body> <span class="outfavori" relfavori="12"> </span> $(document).ready(function() { $('.outfavori').html('<img src="images/favori_gris.png" class="masterTooltip" title="Ajouter dans les favoris">'); $(document).on('click','.outfavori', function(){ var thisoutfavori = $(this); var relfavori = thisoutfavori.attr('relfavori'); thisoutfavori.html('<img src="images/ajax-loader.gif">'); var id = 'id=' + relfavori; $.ajax({ type: 'GET', url: 'ajax.php?' + id, timeout: 3000, success: function(data) { tip = data; }, error: function() { tip = 'error'; }, complete: function() { if(tip==''){ thisoutfavori.html('<img src="images/favori_jaune.png" class="masterTooltip" title="Retirer des favoris">'); thisoutfavori.removeClass('outfavori').addClass('infavori'); }else{ thisoutfavori.html('<span class="error">Error...</span>'); } } }); }); }); $(document).ready(function() { $('.masterTooltip').hover(function(){ var title = $(this).attr('title'); $(this).data('infoTip', title).removeAttr('title'); $('<div class="infoTooltip"></div>') .html(title) .appendTo('body') .fadeIn('slow'); }, function() { $(this).attr('title', $(this).data('infoTip')); $('.infoTooltip').remove(); }).mousemove(function(e) { var mousex = e.pageX + 20; var mousey = e.pageY + 10; $('.infoTooltip').css({ top: mousey, left: mousex }) }); }); </body>
Merci beaucoup pour votre aide! :)
A voir également:
- Jquery refresh dom
- Refresh jquery - Meilleures réponses
- Reload dom jquery - Meilleures réponses
- Comment refresh son pc - Guide
- Auto refresh - Télécharger - Divers Web & Internet
- Refresh dns - Guide
- Flirt dom tom - Forum Jeux vidéo
- Je cherche un site de rencontre sérieux et pas cher ✓ - Forum Consommation & Internet
2 réponses
j'aurai bien voulu que la possibilité $(document).on('click','.outfavori .masterTooltip', function(){ existe mais comme ce n'est pas le cas...
Tu peux le faire en faisant
Pour le reste est-ce que tu peux mettre une page en ligne avec tout ça qu'on voit précisément ce qu'il se passe ?
Tu peux le faire en faisant
$('.outfavori .masterTooltip').click(function(){});
Pour le reste est-ce que tu peux mettre une page en ligne avec tout ça qu'on voit précisément ce qu'il se passe ?
c'est résolu, le problème venait de la version "short" de la fonction hover... ce qui est réglé maintenant avec
Merci tout de même pour ton aide Anoen! :)
$(document).on('mouseenter', '.masterTooltip', function(e) { ... }).on('mouseleave', '.masterTooltip', function(e) { ... }).mousemove(function(e) { ... });
Merci tout de même pour ton aide Anoen! :)