onLoad des neuen Elements, delegieren / an?

7

Ich versuche, eine Funktion für ein Element ( .this_button ) auszuführen, das dynamisch geladen wird. Ich verwende den folgenden Code:

%Vor%

Ich habe delegate ausprobiert, aber es heißt, es sei zugunsten von on veraltet. Einige Elemente werden möglicherweise gedrückt, nachdem das Dokument bereits 10 Minuten geladen wurde. Wie kann es kontinuierlich überprüfen, ob ein Element .this_button in den Körper eingetreten ist?

Wer weiß, warum das nicht funktioniert?

    
Jonah Katz 09.08.2012, 14:15
quelle

2 Antworten

10

Aus der Dokumentation :

"In allen Browsern führen die Lade-, Scroll- und Fehlerereignisse (z. B. bei einem Element) nicht zum Blasen. [...] Solche Ereignisse werden für Delegierungszwecke nicht unterstützt, sie können jedoch beim Ereignis verwendet werden Der Handler ist direkt mit dem Element verknüpft, das das Ereignis generiert. "

    
katy lavallee 09.08.2012, 14:31
quelle
11

Die Methode on behandelt Ereignisse für die aktuell ausgewählten Elemente bei der ersten Ausführung oder zukünftige Elemente, die ein bestimmtes Ereignis auslösen, die mit einem bestimmten Selektor übereinstimmen. Da ein Element, das einer Seite hinzugefügt wird, nicht automatisch einen load oder einen anderen Ereignistyp auslöst, wird Ihr Code niemals für Ihre neu hinzugefügten Elemente ausgeführt.

Sie haben zwei Möglichkeiten. Die erste besteht darin, ein benutzerdefiniertes Ereignis auszulösen, wenn das neue Element eingefügt wird. Zum Beispiel,

%Vor%

Dann würde Ihre ursprüngliche Funktion auf dieses benutzerdefinierte Ereignis warten:

%Vor%

Die zweite Option besteht darin, ständig nach neuen Elementen zu suchen, wie in dieser Frage .

    
amurra 09.08.2012 15:09
quelle

Tags und Links