Gelöst: autoClick
Eingetragen von Martin P. (216)
am 23.05.2012 - 12:22 Uhr in
am 23.05.2012 - 12:22 Uhr in
Hi Leutz :)
möchte gerne einen Lightbox Link abhängig davon ob ein Cookie gesetzt ist oder nicht automatisch klicken und dadurch die Lightbox öffnen. Ich denke der code ist richtig. Zumindest stimmt meiner Ansicht nach die Ausgabe - aber es funktioniert nicht - kann jemand helfen?
<?php if($_COOKIE['videogesehen'] == 1){ } else {
echo '
<script type="text/javascript">
$(document).ready(function(){
$(\'#clickhandler\').click();
});
</script>';
} ?>
- Anmelden oder Registrieren um Kommentare zu schreiben
Dein Code wird so nicht
am 23.05.2012 - 18:28 Uhr
Dein Code wird so nicht funktionieren, da er nur das Click Event abfängt und nicht den Klick selbst ausführt.
Hierfür wäre ein trigger nötig.
Schau dir dazu am Besten mal die API-Doku an:
http://api.jquery.com/trigger/
$('#clickhandler').trigger('click');
SteffenR
http://www.twitter.com/_steffenr
Drupal-Initiative e.V.
Ich machs genau so - keine
am 24.05.2012 - 08:30 Uhr
Ich machs genau so - keine Ahnung aber es passiert nichts. Ich weiß nicht ob ich den Selektor falsch beschreibe? Aber auch nach mehrfachem rumprobieren mit verschiedenen Selektoren einschließlich einer ID bewirken einfach mal rein gar nichts :(
Ich finds echt unfassbar !!!
am 24.05.2012 - 09:17 Uhr
Ich finds echt unfassbar !!! Ich habe echt alles ausprobiert. Bestimmt habe ich 2 oder 3 Lösungsansätze gefunden, zu denen die Leute die sie gepostet haben sagen es würde funktionieren !!! Aber es klappt nicht. Hier diese Lösung soll bei Drupal mit Lightbox 2 funktionieren:
if (Drupal.jsEnabled) {
$(document).ready(function () {
$('#videotrigger').click();
});
}
Das hier soll auch funktionieren.
$(function() {
$('#popup').trigger('click');
});
Ich habe auch versucht es als Funktion zu schreiben und diese dem Body bei onload mitzugeben. Nichts funktioniert. Ich bin echt am Ende meiner Weisheit und Möglichkeiten !
Ich versteh deine Aufregung
am 24.05.2012 - 09:47 Uhr
Ich versteh deine Aufregung nicht so ganz..
Hast du das Ganze denn schon einmal im Firebug oder in der Javascript Console vom Chrome ausprobiert.
Dort solltest du nähere Infos bekommen, bspw. ob der Selektor vorhanden ist etc..
SteffenR
http://www.twitter.com/_steffenr
Drupal-Initiative e.V.
Dir ist aber schon klar, daß
am 24.05.2012 - 09:52 Uhr
Dir ist aber schon klar, daß Du beide Teile brauchst, einmal den Trigger, der den Event auslöst und einmal die Event-Funktion, die auf den Event reagiert? Bei allem was Du geschrieben hast, habe ich nämlich immer nur den einen der beiden Teile gesehen. Beide Teile müssen dann auch mit demselben Selektor verwendet werden.
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Das verstehe ich nicht. ich
am 24.05.2012 - 10:16 Uhr
Das verstehe ich nicht. ich dachte trigger('click') seie die event funktion ^^?
So etwas hatte ich vermutet.
am 24.05.2012 - 10:49 Uhr
So etwas hatte ich vermutet. Mit trigger löst Du einen Event aus, auf den dann eine zu diesem Zeitpunkt registrierte Event-Funktion reagieren muß. Also muß als erstes eine Event-Funktion registriert werden und im späteren Ablauf kann der Event mittels trigger ausgelöst werden. (Siehe Beispiel)
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Ich verstehe das nicht
am 24.05.2012 - 11:30 Uhr
Ich verstehe das nicht ehrlich gesagt.
Hier mal ein kleines
am 24.05.2012 - 11:49 Uhr
Hier mal ein kleines Beispiel:
$(document).ready(function(){
// Event-Funktion festlegen
$('#clickhandler').click(clickfunktion);
// Event auslösen
$('#clickhandler').trigger('click');
// Eventfunktion
function clickfunktion() {
alert('Ein Test');
}
});
Da gibt es die Event-Funktion "clickfunktion", die bei einem "onClick"-Event ausgelöst wird. Mit dem Trigger löst du dieses Event aus. Mit deinem Code oben löst du zwar den Klick auf dein Element aus, aber du legst da nirgendwo fest, was genau bei dem Klick passieren soll.
Häh aber die Funktion soll
am 24.05.2012 - 11:59 Uhr
Häh aber die Funktion soll doch der klick sein ^^ ? Ich meine, den Rest regelt ja ohnehin das Lightbox plugin. Was soll ich denn das festlegen? Es soll nicht mehr passieren als ein klick.
Also bevor wir hier jetzt
am 24.05.2012 - 12:32 Uhr
Also bevor wir hier jetzt noch lange herum rätseln: Nimm dir Firefox + Firebug und überprüfe dort mit der Javascript-Konsole, ob dein
$('#container').click();
bzw.$('#container').trigger('click');
funktioniert.Zumindest zeigt sie mir keine
am 24.05.2012 - 12:42 Uhr
Zumindest zeigt sie mir keine Fehler an.
Auf welchen Selektor reagiert
am 24.05.2012 - 13:15 Uhr
Auf welchen Selektor reagiert denn die Lightbox normalerweise? Du mußt bei Deinem Trigger genau den gleichen Selektor verwenden, sonst klappt das nicht! Wenn Du schließlich auf einer Webseite auf die falschen Elemente klickst, geht die Lightbox auch nicht auf sondern nur, wenn es das richtige Element ist.
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Also ich habe den rel
am 24.05.2012 - 14:17 Uhr
Also ich habe den rel Selektor genutzt, habe die class die dem element zugewiesen ist schon ausprobiert und sogar eine eindeutige ID versucht. Es springt einfach auf nix an -.-
Dann schau eben mal ins
am 24.05.2012 - 14:31 Uhr
Dann schau eben mal ins Lightbox-Script, dort müsste doch irgendwo stehen, auf welchen Selector das reagiert, oder?
edit:
Hast du mal einen Link, damit man sich das mal anschauen kann?
Hast du meine Nachricht
am 24.05.2012 - 14:43 Uhr
Hast du meine Nachricht bekommen? Ich stelle grad fest dass ich gar nicht weiß wo man hier Nachrichten lesen kann ^^
Ja, ich habe die Nachricht
am 24.05.2012 - 15:30 Uhr
Ja, ich habe die Nachricht bekommen und dir gerade geantwortet.
Wenn du hier im DC eine Nachricht schreibst, bekommt der Empfänger diese Nachricht an seine im DC hinterlegte eMail-Adresse. Hast also eine Antwort-Mail von mir.
Mensch das ist sooo super -
am 24.05.2012 - 15:45 Uhr
Mensch das ist sooo super - ich habe wirklich angehend 2 Tage (8 oder 9 Arbeitsstunden) nur recherchiert was ich da falsch mache. Die Lösung des Problems (falls das mal jemand braucht):
Das Klickevent bzw. der Trigger sind nicht auf den a-Tag zu setzen, der mit den lightbox Attributwerten versehen ist, sondern mit dem dadurch verlinkten Element (in meinem Fall ein Bild).
Liebe Grüße und meinen größten Dank an Exterior
Hab grad noch im Chat
am 24.05.2012 - 15:59 Uhr
Hab grad noch im Chat herausgefunden dass es die Zeile:
Lightbox.triggerLightbox('lightvideo[]')
wohl auch bringen soll. Dazu muss man wissen, dass es eine Lightbox mit einem Youtube Video ist.
Ich muss allerdings dazu
am 24.05.2012 - 16:22 Uhr
Ich muss allerdings dazu sagen, dass ich persönlich es auch logischer finden würde bzw. erwartet hätte, dass die Lightbox auslöst, wenn man auf das Element klickt, dass die ganzen LB-Attribute trägt, statt auf den darin verlinkten Container. Aber Lightbox wird das schon so auswerten, wie es das braucht.
Wenn dein Problem gelöst ist, editiere doch bitte oben deinen ersten Post und schreibe "[gelöst]" vor den Titel.