jquery - $(document.body).click funktioniert, $("#ID").click nicht....
![](http://www.drupalcenter.de/files/noavatar_mini.gif)
am 05.06.2010 - 17:51 Uhr in
Hallo allerseits,
wie man dem Titel bereits entnehmen kann gehts es um jquery.
Mittels drupal_add_js() binde ich folgenden Code in mein Modul ein:
$("#m2").click(function(){if ($("#s2").is(":hidden")) {
$("#s2").slideDown("slow");
} else {
$("#s2").slideUp("slow");
}
});
Beim Klick auf das DIV mit der ID "m2" passiert nichts. Tausche ich den Selektor gegen "document.body" funktioniert das Ganze
wenn ich irgendwo auf die Seite klicke (verständlich...).
Könnt ihr mir vlt. einen Hinweis geben wieso Click-Events auf DIVs hier nicht funktionieren?
Schon einmal vielen Dank im Voraus.
LG Matze
- Anmelden oder Registrieren um Kommentare zu schreiben
Ich sag nur slideToggle Das
am 06.06.2010 - 03:58 Uhr
Ich sag nur slideToggle
http://jsfiddle.net/RzcWy
Hey, danke für den Tipp, ist
am 06.06.2010 - 10:20 Uhr
Hey,
danke für den Tipp, ist um einiges kürzer :)
Aber das Problem mit dem DIV.click funktioniert immer noch nicht.
Hier mal der Auszug der erzeugten Seite:
<script type="text/javascript" src="/drupal/sites/default/files/js/js_1c89d8b20f1d39fc22e5a3ca36a2163d.js"></script>
<script type="text/javascript">
<!--//--><![CDATA[//><!--
jQuery.extend(Drupal.settings, { "basePath": "/drupal/" });
//--><!]]>
</script>
<script type="text/javascript">
<!--//--><![CDATA[//><!--
$("#m1").click(function(){$("#s1").slideToggle("slow")})
//--><!]]>
</script>
<script type="text/javascript">
<!--//--><![CDATA[//><!--
$("#m2").click(function(){$("#s2").slideToggle("slow")})
//--><!]]>
</script>
Sieht doch richtig aus oder?
LG Matze
Nein :) Guck mal in den
am 06.06.2010 - 10:50 Uhr
Nein :)
Guck mal in den Quellcode von meinem letzten Post, da ist ein Link versteckt :P
Du Fuchs ^^, hab den link
am 06.06.2010 - 11:02 Uhr
Du Fuchs ^^, hab den link jetzt gesehen.
Dankeschön :) funktioniert jetzt reibungslos!
lag am fehlenden .ready...
Ja der DOM kann erst
am 06.06.2010 - 11:41 Uhr
Ja der DOM kann erst manipuliert werden, wenn die Seite fertig geladen ist (ready).
Trotzdem würde ich das mit dem slideToggle so ändern, wie ich dir das in mein jsfiddle gepastet habe.
Yannick :)
Hab ich sofort gemacht, sieht
am 06.06.2010 - 17:39 Uhr
Hab ich sofort gemacht, sieht doch etwas professioneller aus :D
Danke nochmal