Ich versuche, eine Funktion für ein Element ( .this_button
) auszuführen, das dynamisch geladen wird. Ich verwende den folgenden Code:
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?
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. "
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
Tags und Links jquery