2012-04-05 24 views
0

Ich denke, die Antwort auf mein Problem delegieren zu verwenden ist(), aber ich bin nicht ganz sicher - und brauchen einen Zeiger ...Invoke jQuery EasyTooltips auf dynamisch erstellte Anker

Ich bin mit dem eher brilliant EasyTooltip Plugin Hinzufügen von einfachen Tooltips zu allen Ankern in einem Div.

Das alles funktioniert gut mit den unten auf document.ready ausgeführt():

jQuery(".profile-popup").each(function() { 
    jQuery(this).easyTooltip({ 
     useElement: "toolTipLikingIt", 
     xOffset: -100, 
     yOffset: -20 
    }); 
}); 

Aber ich bin auch anderswo im Skript das Hinzufügen neuer Anker zu diesem div unter bestimmten Umständen. Ich habe versucht, zu dem Event, das die Anker erstellt, einen Aufruf an die gleiche .easyTooltip() -Funktion hinzuzufügen, aber das konnte nicht funktionieren.

Kann jemand die Lösung vorschlagen?

Das Plugin ist aus: http://cssglobe.com/post/4380/easy-tooltip--jquery-plugin

Dank!

Steve

Antwort

1

Sie sind richtig, zu delegieren Schalt sollten Ihre Probleme lösen, da es Elemente dynamisch hinzugefügt reagiert. Hier ist ein Artikel, der vor ein paar Monaten geschrieben wurde, die Ihnen alle Informationen geben, sollten Sie bei der Auswahl der richtigen Methode benötigen:

http://www.elijahmanor.com/2012/02/differences-between-jquery-bind-vs-live.html

+0

Hallo Akkorde, Danke für die zweite Meinung einzuholen. Ich bin wahrscheinlich sehr dumm - aber mit Blick auf Delegate/Live scheint es ein Klick/Hover-Event anzuhängen. Aber das Plugin für EasyTooltip richtet das Hover-Ereignis selbst ein ... könnten Sie ein Beispiel geben? – steve

+1

Hm, ich würde etwas nach folgendem Muster versuchen: '$ ('element') .delegate ('selector', 'click', function() {$ (this) .easyTooltip();});' – Chords

Verwandte Themen