Задать вопрос

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

Как сделать что бы при клике по элементу element.onclick клик срабатывал не только по нажатию левой клавиши мышки, но и при клике на колёсико.
А то если есть полоса скроллинга в окне браузера, то клик колёсиком по элементу не даёт желаемый эффект. Если полосы скроллинга нет, то всё ок.
  • Вопрос задан
  • 6598 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 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("Нажата средняя клавиша мыши.");
   }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы