Frage von Dereta, 43

jQuery nach .load(), .load() erneut aurufen Probleme?

Hey GF Com.

folgendes Problem. ich lasse meine Nachrichten über jQuery nachladen, nur kann ich auf diese neu geladenen Inhalte nicht über jQuery zugreifen.

Szenario: Lade eine DIV box (ID = 'news' | VALUE = 'EindeutigeID') über die load Funktion von jQuery nach. Diese wird auch richtig angezeigt normal wie im Quelle Text. Jedoch kann ich über jQuery nun keine Funktion auslösen die z.B. wie folgt ist: $("#news").click(function() {}).

Sobald ich die News anklicke passiert einfach nichts. BEi news die bereits vorgeladen waren (nicht über load) gleiche parameter / ID Funktioniert das ganze... hoffe ihr versteht es...

Wenn mir jemand schreiben könnte wie es trotz nachladen möglich ist auf diese Elemente zuzugreifen wäre ich sehr dankbar :)

Mit freundlichen Grüßen Fragensteller Ben

Antwort
von webflexer, 21

Hallo, das liegt daran das jQuery das nachgeladene DIV nicht kennt, da dies nachträglich im DOM hinzugefügt wurde.

Wenn du einen Klick Event-Handler auf das nachgeladene Objekt erstellen willst, musst du das ganze "Delegieren".

Beispiel mit deinem DIV mit der ID news :

$( "body" ).delegate( "#news", "click", function() {  alert("Das DIV news wurde angeklickt");});
Kommentar von Dereta ,

Wann benutze ich das delegate am besten? Kann ich das einfach so verwenden oder nach dem nach laden? Vielen dank schon mal.

Kommentar von webflexer ,

Das kannst du vor dem Nachladen benutzen.

Keine passende Antwort gefunden?

Fragen Sie die Community