Elemente ansprechen nachdem sie erzeugt wurden

Status
Dieses Thema wurde gelöst! Zur Lösung gehen…

InsaYn

Grünschnabel
Hey zusammen,

ich stehe vor einem Problem, und zwar versuche ich ein Element anzusprechen das ich über .appendTo() angefügt habe. Wie bekomme ich das hin???
Hier mal mein Beispiel-Code:

HTML:
<div id="test"></div>

Javascript:
$('#test').click(function() { $('<div id="test2"></div>').appendTo('#test'); });

$('#test2').click(function() { alert('hurra') });

Klicke ich also auf den erzeugten DIV, bekomme ich keine Rückmeldung. Kann mir irgendwer helfen?

Vielen Dank
 

Sempervivum

Erfahrenes Mitglied
Zunächst die Erklärung, warum es nicht funktioniert: Wenn Du den Eventlistener in Zeile 3 für das #test2 registrierst, existiert dieses Element noch gar nicht, denn es wird ja erst durch einen Klick auf #test erzeugt. Diese Anweisung läuft deshalb ins Leere.
Lösung am besten, indem man das Eventbubbling ausnutzt, siehe hier:
Understanding Event Delegation | jQuery Learning Center
Code:
$('#test').on('click, '#test2', function() { alert('hurra') });
 
Status
Dieses Thema wurde gelöst! Zur Lösung gehen…