Mam ten fragment kodu w moim rozszerzeniu Chrome, więc mogę użyć <div href="url">
jako łącza. Wcześniej działało zgodnie z oczekiwaniami. (Po lewej - otwórz w bieżącej zakładce, Środek - otwórz w nowej zakładce). Teraz rejestruje tylko kliknięcia lewym przyciskiem myszy.Kliknij środkowy przycisk kliknij wydarzenie
$('div.clickable-href').on('click', function(e) {
switch(e.which) {
case 1:
window.location = $(this).attr('href');
break;
case 2:
window.open($(this).attr('href'));
break;
case 3:
break;
}
});
używam <div href="url">
i <span href="url">
linków więc przeglądarka nie wyświetla pasek stanu.
Znalazłem kilka podobnych pytań, ale wszystkie odpowiedzi sugerują użycie .on('mousedown', (e) => {...})
. Potrzebuję tego zdarzenia do uruchomienia tylko w przypadku zdarzenia mousedown
, po którym następuje zdarzenie mouseup
.
Jeszcze bardziej frustrujące jest to, że ten używał do pracy, ale już tego nie robi.
EDIT:
Jest to problem dla Chrome 55. Linux (gdzie po raz pierwszy zauważył anomalię) Chrome został już zaktualizowany do V55. W moim systemie Windows był to v54, a średnie kliknięcie działało. Aktualizacja z 54 na 55 spowodowała te same problemy.
Pamiętaj, że użytkownicy mogą oczekiwać, że Twój "link" również otworzy się w nowej karcie podczas wykonywania ap kliknij na rimary trzymając klucz ( na Macu). Trzeba też zająć się tymi sprawami i ewentualnymi innymi konwencjami, których nie można przewidzieć. Spróbuj znaleźć sposób na użycie prawdziwego elementu zakotwiczenia dla twojego linku i pozwól przeglądarce najlepiej sobie z tym poradzić. –