2010-07-02 5 views
2

est-il possible de surveiller la page entière (à l'aide de jQuery 1.3.2) et d'ajouter une fonction de plug-in tooltip aux liens nouvellement créés?jQuery - comment savoir quand de nouveaux éléments sont ajoutés?

Sur document.load(), ajouter une info-bulle comme ceci:

$('a').tooltip(); 

Comment puis-je faire la même chose pour les éléments qui sont ajoutés par AJAX? Quelque chose utilisant live() peut-être?

Merci!

Répondre

0

Vous recherchez le livequery plugin.

Cependant, il est une bidouille horrible et devrait être évitée si possible.
En particulier, il n'acceptera aucune modification DOM qui n'a pas été effectuée avec jQuery.

+0

Merci, ce fut la solution parfaite :-) Malheureusement, il a augmenté l'utilisation de la mémoire du navigateur par plus de 100% – Rohan

+0

SLaks - Avec tout le respect, votre solution fonctionne, mais je vous ne prendrait pas cette approche, sauf si absolument nécessaire. – user113716

+0

Arrêtez de recommander liveQuery - c'est obsolète et quelque peu redondant étant donné que jQuery prend désormais en charge la délégation d'événements. – James

1

Lorsque vous créez votre nouvel élément en utilisant AJAX, exécutez la .tooltip() sur eux dans le même rappel.

success: function() { 
    var newelement = $(someNewElement); 
    newelement.tooltip(); 
    newelement.appendTo('body'); 
} 

EDIT: Si vous ne pouvez pas contrôler le code qui insère les éléments, @SLaks de réponse peut être une bonne alternative.

Questions connexes