2012-03-25 18 views
1

Ich bin eine Art Noob in Jquery, so tut mir leid, wenn die Frage ein wenig offensichtlich ist.Wie sollte ich ein Ereignis für ein Element behandeln, das noch nicht geladen wurde, wenn die Seite geladen wird

Ich fragte mich, wie soll ich ein Element behandeln, die die .html() jquery-Methode erstellt wird, so es keine Möglichkeit, es nach $(document).ready zu handhaben ist. Gibt es trotzdem einen Handler, wenn das Element erstellt wird oder so?

+2

lesen Sie die [on()] (http://api.jquery.com/on/) -Methode – ManseUK

Antwort

4

So einfach ist das:

$('#containerId').on('eventType', 'childSelector', handler); 

immer binden die Delegaten Ereignis zum nächsten statischen Elemente der dynamischen Elemente.

Wenn Sie verstehen wollen, wie diese Magie passiert, lesen Sie die ondocs

+0

Danke, ich werde es ausprobieren –

+0

yeah das hat funktioniert gut danke –

0

Ein Beispiel:

$("#mydiv").html("<span>Content</span>"); 
$("#mydiv span").css("background-color","blue"); 

so, es nennen, nachdem Sie die .html() gesetzt.

+0

Sie haben absolut Recht! aber er fragt nach ** handlers ** ... wie 'on' \' delegate' \ 'live' – gdoron

+0

Ok, aber ich denke, er meinte das, indem er das Element" handhabt ". $ ("# mydiv") ist auch ein "Handler" für ein Element. –

+1

Und jetzt habe ich den Titel gelesen und sah das "Ereignis" -Wort. :) Ja, du hast Recht. Ihre Antwort und meine sollte in einer Antwort geschrieben werden. –