j'ai cherché partout et tout ce que j'ai trouvé ne m'a absolument pas aidé !

J'ai une page HTML, qui contient des div dont le contenu est chargé via AJAX au chargement de la page..... lorsque le contenu de la page est chargé directement le javascript fonction comme il doit , mais lorsque cette div ce retrouve dans le contenu d'une autre page chargé par AJAX, jquery ne fonctionne plus sur cette div , alors que les scripts jquery sont bien deja en mémoire dans le "head" .

SVP , est ce que quelqu'un peut me donne une script AJAX qui fonction avec jQuery ! et qui me permetra de faire des chargement des pages sans rechargement !

Parceque ça fait des semaines que je galère et ça m'énerve graaave !!!

Merci d'avance pour vos réponses !

5 réponses


Ajax charge du contenu, aucune fonction javascript (dans le contenu chargé) ne fonctionnera pas. C'est tout, pas le choix :)

les fonctions js ne sont pas dans le contenu chargé ! tout les fonctions sont bien deja en mémoire dans le "head" !

tes fonctions doivent surement être chargées avant ton ajax et donc tes div sont inconnu pour ces fonctions. Essaye de charger tes fonctions après le chargement de tes div en mettant la balise script avant la fermeture </body> :)

si Cela ne fonctionne toujours pas il faut relancer les fonctions lors du succès de l'ajax :)

Si j'ai bien compris, tu as un contenu avec des div qui déclenchent des évènements jquery, admettons

$('a').click(function(){
    alert('lol').
});

Mais lorsque ce lien est issu d'un retour Ajax, ça ne fonctionne pas, c'est bien ça ?

Si c'est ça, il faut simplement utiliser la fonction live() au lieu de click().
Un exemple sur jsFiddle

Bonsoir,
Je t'invites à lire cette article pour comprendre les principales fonctions de détection d'évènements
Texte du lien

Donc si ton lien est ajouté à la page plus tard qu'a l'ouverture il faut alors que tu utilises une fonction de détection de type live

exemple :

$(document).on('click','a',function(){
    alert('coucou');
});