17 Stimmen

Nachteile von onMousedown vs. onClick?

Ich habe mich mit einem "Bane-of-my-existence"-Javascript-Problem beschäftigt, bei dem es darum geht, zu verfolgen, wann ein Benutzer auf einen Link klickt (falls Sie neugierig sind, hier ist es: Warum schlägt die Verwendung von target="_blank" bei Javascript fehl? ).

Ich habe herausgefunden, dass ich das Problem lösen kann, indem ich eine onMousedown Ereignis und nicht ein onClick Veranstaltung.

Ich bin neugierig, welche Nachteile dieser Ansatz mit sich bringt. Die, an die ich denken kann:

  1. Wenn ein Benutzer auf einen Link klickt und dann die Maus vom Link wegbewegt, bevor er sie loslässt, wird das Ereignis aufgezeichnet, obwohl der Benutzer den Link nicht besucht hat.
  2. Wenn ein Benutzer die Tabulatortaste verwendet, um den Browserfokus auf den Link zu setzen, und dann die Eingabetaste drückt, würde der Klick nicht aufgezeichnet werden

Beides ist nicht üblich, also mache ich mir keine großen Sorgen.

Gibt es noch andere Nachteile, die ich übersehe?

19voto

Raze Punkte 2086

Noch etwas: Mousedown erfasst auch Rechts-/Mittelklicks.

Aber aus den beiden Gründen, die Sie anführen, würde ich mich an onclick . Ich kenne ziemlich viele Leute, die die Tastaturnavigation verwenden. Vor allem search-and-gotolink in FF.(/ für die Suche, gefolgt von enter, um zum Link zu gelangen).

Aber wenn diese beiden kein Problem für Sie sind, denke ich, dass Rechts-/Mittelklicks auch kein Problem darstellen.

Ich denke, die Art und Weise, wie man alle Nutzer, die dem Link folgen, verfolgen kann, ist ziemlich knifflig - der Nutzer könnte mit der rechten Maustaste klicken und auf neue Registerkarte / neues Fenster klicken...

0 Stimmen

Ich stimme mit Ihrem Beitrag überein, aber es stört mich, dass die Google-Suchseite onmousedown und nicht onclick verwendet, um Klicks zu verfolgen, was darauf hindeutet, dass sie diese Probleme behandeln oder zumindest onmousedown als Best Practice betrachten. Haben Sie eine Idee?

0 Stimmen

Ich weiß nicht genau, wie Google die Klicks verfolgt, aber das sind einige Punkte, die mir in Bezug auf die Verwendung von Onmousedown einfallen: Sie interessieren sich für die Gesamtklickzahlen - ein paar weniger oder mehr spielen keine Rolle. Bei der Verwendung von onclick / onmousedown gibt es keine verlässliche Methode, um festzustellen, ob der Nutzer einem Link gefolgt ist oder nicht (bei der Verwendung von onclick kann ein Rechtsklick und das Öffnen in einer neuen Registerkarte fehlen, bei der Verwendung von mousedown kann jeder Rechtsklick als Linkverfolgung registriert werden). Ein Rechtsklick könnte jedoch bedeuten, dass der Benutzer in irgendeiner Weise an dem Link interessiert ist.

7 Stimmen

Außerdem gibt das Mousedown-Ereignis mehr Zeit, um Daten an Google zu senden, bevor der Link verfolgt wird (die kleine Zeitdifferenz nach dem Drücken der Maustaste und vor dem Loslassen) - genug, um eine Anfrage an den Google-Server zu senden. Ich bin nicht sicher, ob onclick genug Zeit dafür lässt. Die alternative Option, die Yahoo verwendet, besteht darin, Sie zuerst zu ihrem Server zu bringen und Sie dann zu der gewünschten URL weiterzuleiten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X