Wie erkennt man Link Klicks (Text, Bilder, etc.) mit Javascript?

9

Ich versuche, ein Cross-Browser-Skript zu schreiben, das erkennt, wenn ein Link auf eine Seite geklickt wird (Textlink, Bild oder anderswo), sodass ich eine Nachricht oder eine Anzeige (wie ein Interstitial) anzeigen und dann weiterleiten kann der Besucher der ursprünglich angeklickten Ziel-URL.

Das Skript muss von Drittanbieter-Websites funktionieren (wobei der Besitzer die Skript-Tags auf seiner Site installiert).

Wie kann ich dies mithilfe von Javascript erreichen?

Benütze ich einen Ereignis-Listener? Durchlaufe ich alle Verknüpfungsobjekte? Oder etwas anderes?

Meine Javascript Fähigkeiten sind Anfänger / Fortgeschrittene, so dass detaillierte Beispiele / Erklärungen sehr geschätzt werden.

Ich habe hier den Event-Listener gestartet, aber bis jetzt habe ich ALLE Klicks auf der Seite entdeckt: addEventListener Code Snippet Übersetzung und Verwendung für browserübergreifende Erkennung

Ich werde eine JQuery-Alternative in Betracht ziehen, aber ich weiß einfach nicht, wie es auf der Website von Drittanbietern funktioniert, wenn diese Seite nicht über die JQuery-Bibliothek verfügt.

Danke allen.

    
C King 09.12.2011, 21:13
quelle

4 Antworten

6

Ich dachte, ich würde eine Nicht-jQuery-Lösung (und auch nicht-andere-Bibliothek-Lösung, nur für ... naja, fülle ein paar Minuten):

%Vor%

JS Fiddle Demo .

Die oben genannten Verbesserungen wurden vorgenommen, um img -Elemente zu erkennen, die in einem a -Element verschachtelt sind (was ich denke ist, was Sie wollen, wenn Sie Ihre Frage noch einmal durchlesen):

%Vor%

JS Fiddle-Demo .

    
David Thomas 09.12.2011, 22:04
quelle
7

Um eine Funktion aufzurufen, wenn ein Link - dynamisch hinzugefügt oder nicht - angeklickt wurde, verwenden Sie on ()

%Vor%

Wenn Sie eine ältere Version von jQuery verwenden, verwenden Sie delegate () (beachten Sie, dass die Reihenfolge von Selektor und Ereignistyp ist geschaltet)

%Vor%     
Adam Rackis 09.12.2011 21:14
quelle
0

Dies ist ungefähr wie man es macht ohne Verwendung von jQuery:

%Vor%     
user1090520 09.12.2011 21:51
quelle
0

Ich benutze das so, dass es nur die a-Tags mit Links in ihnen betrifft,

%Vor%

Aber in diesem Sinne sagen Sie Ihren Leuten, dass sie diese auf Websites von Drittanbietern verwenden sollen, damit sie jQuery nicht haben, also brauchen Sie vielleicht diese Überprüfung oben in Ihrer Datei, aber dann müssen Sie Ihre Datei nach der Verwendung der gleicher Code, aber überprüfe auf dein Objekt oder einen Funktionsnamen

%Vor%     
Martin Barker 09.12.2011 21:40
quelle