jquery ajax click-function

  • Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

nvidia3

Neues Mitglied
25 Mai 2011
22
1
0
Hallo,
ich lade über ajax content nach und füge den dann zusammen mit einer dom-struktur über .append() in ein div ein.
Am anfag des dokuments hab ich allen elementen mit einer bestimmten klasse per click aufgaben gegeben. wenn aber elemente mit der selben klasse über ajax nachgeladen werden, wird das click-event nicht für diese ausgeführt. nach opera dragonfly funktioniert das einfügen, man kann die neuen elemente durchstöbern.
woran liegt das? wie behebt man das?
 

T-sneak

Mitglied
10 Mai 2005
623
4
18
28
Rosenheim
jonato.de
du musst nachdem laden den event handler neu belegen dann gehts ;-)
Und wenn du nicht weißt wie die heißen dann kannst du es per getScript (jQuery) nachladen
 

Gilles

Blogger
20 Juli 2009
1.648
13
38
Düsseldorf
Stell dir die Elemente mal als Schale vor.
Am Anfang sind deine Elemente komplett leer. Nun legst du in die Elemente ein Handler rein.
Alle Elemente haben nun ein Handler in sich liegen. Nun machst du ja folgendes:
Du schmeisst 10 volle Elemente weg.
Dann lässt du mal 8 neue rein. Diese neuen Elemente sind aber komplett leer.
Heisst du hast nun einige mit Handlern gefüllt und die neuen nicht.
Was wäre die Konsequenz? Du musst wie T-sneak schon gesagt hat die neuen Elemente mit Handlern befüllen, nachdem sie angekommen sind.
Nun kommt folgendes Problem. Wenn du es wie am Anfang machst wird überall ein handler reingeschmissen, jedoch auch in die alten.
Somit hättest du 2 handler in den alten und 1 jeweils in den neuen.
Du musst also dementsprechend bevor du wieder Handler ein füllst den alten Handler rausnehmen.
Die funktioniert bei jQuery mit $(".klassennamen").unbind("click", funktionsname)
Solltest du sonst noch fragen haben, stell sie einfach ;)
 
Werbung: