Hallo Leute, ich bin bei einer Pluginentwicklung auf ein Problem gestoßen, nämlich möchte ich bei der Modalbox, welche sich öffnet wenn man oben auf dem Link “Mein Konto” klickt was ändern. Hier möchte ich den Close Button (dieses X oben rechts) mit jquery ansprechen. Wenn auf den Close Button geklickt wird, dann soll nämlich noch was gemacht werden. Folgender Maßen habe ich versucht, auf Close Button anzusprechen. $('.ajax\_login\_form \> .modal\_close').click(function(event) { event.preventDefault(); alert("Test"); });
Wenn auf den Close Button geklickt wird, so wird kein alert Box angezeigt. D.h. irgendwie kann er so nicht angesprochen werden. Hat jemand eine Idee?
Hallo, der Selektor müsste so heißen: ‘.ajax_login_form .modal_close’ (mit Leerzeichen zwischen den beiden Klassen). (.ajax_login_form > .modal_close trifft direkte Kinder von .ajax_login_form und keine Enkel etc.) Dann ist .modal_close ja in einem -Tag. Das könnte sich mit dem jQuery-Event auch in die Quere kommen. Liebe Grüße Kerstin
Habs probiert… es ist aber das selbe… Also es wird wieder kein alert Box angezeigt.
Das funktioniert so nicht, weil die Modalbox dynamisch erzeugt wird, sobald jemand auf den Link klickt. Sie existiert also noch gar nicht wenn du ('.ajax\_login\_form \> .modal\_close').click(//deine Funktion) aufrufst. Für dynamisch erstellte Elemente musst du den Aufruf etwas umbauen, z.B. so: (‚body‘).on(‚click‘,’.ajax_login_form .modal_close’, function (event) { //dein code }); Du sagst also quasi nicht dem Close Button selbst, dass er auf etwas reagieren soll, sondern dem body-Element, dass es etwas tun soll wenn jemand das von dir definierte Element anklickt.
wenn du die im standard enthaltenen jQuery 1.7.2 verwendest, kannst du das auch so machen: $('.modal\_close').live('click', function () { //dein code });
.live sollte nicht mehr verwendet werden und daher wäre .on schon der richtige weg.
Hallo, ich habe es mir jetzt mal angeschaut. ‘.on’ klappt gut, ‘.live’ habe ich nicht zum Laufen gebracht, aber du sagst ja es ist ohnehin deprecated und da habe ich auch nicht lange probiert. Vielen Dank, das kann ich bestimmt einmal sehr gut gebrauchen. Liebe Grüße Kerstin