Funktion ausführen und dann Link folgen

8

Ich kann kein Beispiel dafür finden, was ich hier versuche, aber ich bin mir sicher, dass es möglich ist.

Betrachten Sie Folgendes:

%Vor%

Wie kann ich eine Funktion ausführen, wenn auf ein link in #main_nav geklickt wird und dann auf das link ?

folgt?

Das Folgende funktioniert nicht, da die Verknüpfung befolgt wird, bevor die Funktion ausgeführt wird.

%Vor%

BEARBEITEN

Ich versuche tatsächlich, einen Cookie mit dem JQuery-Cookie-Plugin zu löschen, wenn auf die Links geklickt wird. Ich bin mir nicht sicher, ob dies relevant ist oder nicht.

Der Cookie-Code löschen lautet:

%Vor%

TMMenu ist der korrekte Name und das Plugin ist geladen.

BEARBEITEN

Tut mir allen leid. Das Problem lag tatsächlich in der JQuery Cookie-Plugin-Dokumentation .

%Vor%

wie in der Readme beschrieben scheint nicht zu funktionieren. Das tut:

%Vor%     
Turnip 30.03.2012, 14:54
quelle

2 Antworten

21

Aktualisieren : Für die Bearbeitung: Ich sehe keinen anderen Grund als # 1.

Ich kann mir zwei Antworten auf diese Frage vorstellen:

  1. Sie führen Ihren jQuery-Code aus, bevor das Element #main_nav a existiert und kein Ereignishandler angeschlossen ist. Platzieren Sie Ihr Skript am Ende der HTML-Datei, unmittelbar vor dem schließenden </body> -Tag, oder verwenden Sie den ready -Rückruf .

  2. Sie tun etwas Asynchrones in Ihrem Handler und sehen es nicht. Sobald die Ereignisbehandlungsroutine zurückkehrt, wird die Verknüpfung befolgt, selbst wenn Ihr Handler eine asynchrone Aktion initiiert.

Hier erfahren Sie, wie Sie das zweite Problem beheben können (beides, wenn Sie dies am Ende oder in einem ready -Handler ablegen):

%Vor%

( Live-Kopie | Quelle )

    
T.J. Crowder 30.03.2012, 15:05
quelle
2

So machen Sie das. Wenn Sie in Ihrem Click-Handler-Callback event.preventDefault aufrufen, wird die Standardaktion verhindert. Dann folgen Sie dem Link via Javascript einfach mit window.open(url) oder window.location = url .

%Vor%

W3Schools hat mehr Informationen über den Unterschied zwischen window.open und window.location .

pseudosavant 30.03.2012 15:03
quelle

Tags und Links