Rufen Sie automatisch jQuery-Funktionen für neue dom-Elemente auf

8

Ist es möglich, eine jQuery-Funktion für neu übereinstimmende Elemente automatisch aufzurufen?

Zum Beispiel habe ich den folgenden Code:

%Vor%

Dies fügt das 'ziehbare' zu jedem Element hinzu, das [ziehbar] entspricht, aber wenn weiter entlang der Straße neue Elemente mit dem Attribut 'ziehbar' hinzugefügt werden, erhalten sie nicht die 'ziehbare ()' Funktion, die angerufen wird / p>

Ist es möglich, das DOM oder etwas zu überwachen und diese Methode auch bei jedem neuen Dom-Element aufzurufen, das mit dem Selektor übereinstimmt?

Ich weiß, dass es so etwas für "Klick" -Ereignisse und dergleichen (die jquery-Delegate-Methode) gibt, aber soweit ich weiß, kann ich das anscheinend nicht für diesen Fall verwenden.

    
Matthijn 26.08.2012, 20:53
quelle

5 Antworten

1

da war ".live ()" für jQuery, aber ich sehe es veraltet ?! bekomme die Umwandlung von ".live ()" zur neuen ".on ()" - Methode zur Zeit nicht, aber sieh selbst nach und frage vielleicht in ihrem Forum ... Das sollte der richtige Weg sein ...

Ссылка

    
TheHe 26.08.2012, 20:57
quelle
4

Überprüfen Sie " Mutationsereignisse " Es gibt ein Ereignis namens DOMNodeInserted, vielleicht hilft es Ihnen

Übrigens, check: JQuery - benutze Element mit DOMNodeInserted

    
Mario Corchero 26.08.2012 21:00
quelle
3

Sie können die arrive.js Bibliothek verwenden, die ich für genau den gleichen Zweck entwickelt habe (sie verwendet MutationObserver intern). Verwendung:

%Vor%     
Uzair Farooq 26.02.2015 06:03
quelle
1

.on() benötigen Sie, wenn Sie jQuery 1.7 oder höher ausführen. Es wird auf Elementen ausgeführt, die der Seite hinzugefügt werden, sowie auf bereits vorhandenen Elementen, wenn es aufgerufen wird. Wenn Sie eine frühere Version verwenden, sehen Sie sich die .live() -Methode an, die seither nicht mehr unterstützt wird, aber die gleiche Funktionalität mit zusätzlichen Elementen.

    
Sam 26.08.2012 21:30
quelle
0

Abhängig von der Version von jQuery, die Sie verwenden, sehen Sie sich die Methode .on() an. Wenn ich verstehe, wonach Sie suchen, sollte es Ihren Bedürfnissen entsprechen.

Das Äquivalent in früheren Versionen des Frameworks war .live() .

    
kprobst 26.08.2012 20:58
quelle

Tags und Links