PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : JavaScript nach Ajax-Aktion


Sushi
23.02.2010, 12:59:42
Hallo, ich bin ganz froh das mein Ajax-Konstrukt läuft, der Nutzer (nennen wir ihn Wurst) kann einen Button drücken und ist für einen Termin angemeldet.

Der ganze html container wird momentan durch Ajax ersetzt:

1 Person<em>Heinz<em> [Anmelden]

wird also zu

2 Person <em>Heinz</br>Wurst<em> [Abmelden]

Beim Seite laden werden aber Tooltips per jQuery angelegt die erscheinen wenn man über die 1 Person fährt das <em>Heinz<em> wird also um die grade angemeldete Person ergänzt.
Der Tooltip wird aber leider nach der Ajax-Aktion nicht mehr angezeigt. Ich erkäre mir das Java nach dem Rendern der Seite keine neuen Elemente mehr verarbeitet.

jQuery("div#termin-anmelden a").mousemove(function(e){
jQuery("#termin em")
.css("top",(e.pageY - xOffset) + 30)
.css("left",(e.pageX + yOffset) -30);
});


Wie muß ich da vorgehen? Ich habe zwei Ideen:

Ich verändere nicht den ganzen Container, sondern nur die einzigen Elemente (habe da aber die Frage das ich durchaus leere Container habe (keine Anmeldungen) und bin mir nicht sicher ob das läuft...

Oder ich muss jQuery irgednwie noch mal dazu anregen seinen Dienst nach dem Ajax Request durchzuführen, da habe ich aber auch respekt vor ich möchte ja nicht das er mein gesammtes Formualer noch mal beakert...


Es wäre prima wenn mir da jemand helfen könnte - Vielen Dank!

Ckaos
23.02.2010, 13:42:45
Hi

Ich glaube du muss mehr code posten, denn du definierst "termin-anmelden"
und das sollte nach drücken nicht mehr verfügbar/auswählbar sein.

Desweiteren ersieht man nicht ob du "unterwegs" vorhandene Elemente neu-
definierst. Normalerweise ist bei AJAX immer noch ein Update von JS Zuweisungen
einzuplanen. Denn jQuery Produziert ja auch nur zur Laufzeit aktive oder passive
Elemente.

Bsp.

$("div").css("border","1px red solid");

Fügt halt allen "div" Elementen nen Border hinzu....ende.
Wenn dann AJAX kommt und nen DIV bearbeitet nimmt es den Quelltext und
definiert halt neu. Also beim AJAX nochmal den geänderten Bereich aktualisieren.
ich möchte ja nicht das er mein gesammtes Formualer noch mal beakert.
Dann solltest du deine Struktur neu überdenken.

mfg

Ckaos

Sushi
23.02.2010, 15:32:57
Danke für deine Denkanstöße - ich glaub Du hast mich in die richtige Richtung geschubst!