Недостатки onMousedown против onClick? - PullRequest
6 голосов
/ 28 октября 2009

Я имел дело с проблемой Javascript, от которой зависит мое существование, связанной с отслеживанием, когда пользователь нажимает на ссылку (если вам интересно, вот оно: Почему используется target = "_ blank "вызвать сбой JavaScript? ).

Я понял, что могу решить эту проблему, отслеживая событие onMousedown, а не событие onClick.

Мне любопытно о недостатках этого подхода. Те, о которых я могу думать:

  1. Если пользователь щелкнул ссылку вниз, а затем перед тем, как ее отпустить, щелкнул мышью по ссылке, событие было бы записано, даже если пользователь не посетил ссылку
  2. Если пользователь использовал клавишу табуляции, чтобы переместить фокус браузера на ссылку, а затем нажал клавишу Enter, щелчок не будет записан

Ничто из этого не является распространенным, поэтому я не очень беспокоюсь за них.

Есть ли другие недостатки, которые мне не хватает?

1 Ответ

6 голосов
/ 28 октября 2009

Еще один: mousedown также захватывает правые / средние щелчки.

Но по вашим двум причинам я бы придерживался onclick. Я знаю немало людей, которые используют навигацию с помощью клавиатуры. Особенно search-and-gotolink в FF. (/ Для поиска следует ввод, чтобы перейти по ссылке).

Но если эти два не являются проблемой для вас, я думаю, что щелчки правой / средней руки тоже не будут.

Я думаю, что способ отследить всех пользователей, которые переходят по ссылке, довольно хитрый - пользователь может щелкнуть правой кнопкой мыши и щелкнуть новую вкладку / новое окно ...

...