2012-04-12 12 views
1

Hier ist eine für Sie!Gibt es ein jQuery-Ereignis, das ausgelöst werden kann * nachdem * ein Ankerklick abgeschlossen ist?

Gibt es eine Art von jQuery-Ereignis, das nach ausgelöst wird, ein Ankerklickereignis wird abgeschlossen, anstatt vorher?

Ich möchte der Benutzer auf die <a href="/someurl" target="_blank">link</a> klicken und dann die neue Registerkarte entsprechend geöffnet haben, aber dann auf der aktuellen Seite (nicht neue Registerkarte) und nachdem die neue Registerkarte öffnet, umleiten auf eine andere Seite. Also habe ich nach einer Veranstaltung gesucht, um das zu tun.

Es scheint jedoch, dass das Ereignis passiert, bevor der Anker-Tag klicken Sie auf sein Geschäft abzuschließen, aber eine Weiterleitung in diesem Stadium würde den Anker klicken zu unterbrechen.

Hinweis: Der Grund, warum ich "_blank" auf dem Anker verwende, klicke auf die Browser-Aktion für die neue Seite, damit die Browser-Popup-Blocker nicht in die Quere kommen, wenn sie so etwas per Javascript aufrufen .

+2

Popup-Blocker gibt es aus einem bestimmten Grund. Versuchen Sie, Ihre Lösung beispielsweise mit dem jQuery UI-Dialogfeld neu zu gestalten. –

+0

@JakubKonecki Pop-up-Blocker werden nicht blockiert, wenn der Benutzer auf einen Link klickt, der target = "_ blank" enthält. Meine Notiz sollte verdeutlichen, warum ich diese Methode verwendet habe. – BigOmega

Antwort

0

Was passiert, wenn Sie das click Ereignis aufrufen eine Methode, die wiederum ruft die setTimeout Methode mit einem Delegaten zum Ändern der document.location?

+0

Dies könnte die Antwort sein, aber ich hatte gehofft, dass es ein Ereignis geben würde, das ich verwenden könnte, so dass ich nicht auf eine zeitbasierte Lösung angewiesen wäre. – BigOmega

+1

Dies ist ein Workaround, nicht die Antwort. Nur klärend. – Alexander

+0

@Alexander - Jede Antwort, die ein Pop-up-Blocker-Verhalten umgeht, wird eine Umgehungslösung sein. –

0

Fügen Sie einfach einen click Handler und return true; hinzu. Dies hindert den Browser nicht daran, den tatsächlichen Klick zu verarbeiten.

+0

Richtig, aber wenn ich eine Umleitung der aktuellen Seite vor "return true" mache verhindert das nicht, dass return true passiert? – BigOmega

+0

Hmmm, wahrscheinlich ja ... - Timeout-Workaround kann deine einzige Hoffnung sein ;-) –

Verwandte Themen