Как сделать что бы при клике(onclick) колёсиком мышки клик срабатывал?

Как сделать что бы при клике по элементу element.onclick клик срабатывал не только по нажатию левой клавиши мышки, но и при клике на колёсико.
А то если есть полоса скроллинга в окне браузера, то клик колёсиком по элементу не даёт желаемый эффект. Если полосы скроллинга нет, то всё ок.
  • Вопрос задан
  • 6120 просмотров
Пригласить эксперта
Ответы на вопрос 3
@mmxdesign
Software Engineer
Клик колесика можно отслеживать по MouseEvent.which
и это значение для колесика - 2.
Например так
$("#text").on('click', function(e) { 
    // данное событие будет выполняться при клике на левую кнопку или на клик колесика
   if( e.which == 1 || e.which == 2 ) {
     // какое нибудь действие 
   }
});
Ответ написан
@amatory10
без jquery:
(function() {
  document.getElementById('text').addEventListener('mousedown', addClickListener);
  function addClickListener(event) {
    if(event.button == 2) return;
    event.preventDefault();
    alert(event.button);
  }
})()
Ответ написан
In4in
@In4in
°•× JavaScript Developer ^_^ ו°
Не дает желаемый эффект потому, что вы не отменяете дефолтное действие браузера.

Element.onclick = function(e){
   if("which" in e ? e.which & 2 : e.button & 4){
       e.preventDefault();
       alert("Нажата средняя клавиша мыши.");
   }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
26 апр. 2024, в 10:01
500 руб./за проект
26 апр. 2024, в 09:18
500 руб./в час
26 апр. 2024, в 06:46
1500 руб./в час