Отключить событие среднего щелчка прокрутки мыши с jQuery - PullRequest
3 голосов
/ 20 февраля 2020

Я написал приведенный ниже код для отключения прокрутки в мышке при ее нажатии. но мой код не работает, и когда я нажимаю прокруткой мыши, он открывает мою ссылку.

Вот мой код:

$('a').on('mousedown', function(e) {
  if (e.which === 2) {
    console.log('Disabled');
    return false;
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"></script>
<a href="#dontwanttoopen"> click here </a>

Ответы [ 3 ]

5 голосов
/ 20 февраля 2020

Вы должны использовать auxclick, чтобы отключить эту функцию. Замените ваш «щелчок» на «auxclick» и добавьте e.preventDefault(), он будет работать, проверено в chrome и FF

$('a').on('auxclick', function(e) {
  if (e.which === 2) {
    e.preventDefault();
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"></script>
<a href="#dontwanttoopen"> click here </a>
2 голосов
/ 20 февраля 2020

Вы можете использовать event.preventDefault(), чтобы отменить действие

document.onmousedown= function (e) {
    if( e.which == 2 ) {
        e.preventDefault();
        alert("middle button pressed, dont open"); 
    }
}
<a href="#dontwanttoopen"> click here </a>
0 голосов
/ 20 февраля 2020

попробуйте код ниже, спасибо:

<a href="#dontwanttoopen"  id="link_click">click here </a>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"> 
</script>

<script>
var el = document.getElementById('link_click');
el.onmousedown = mouse_down;


function mouse_down() {
alert('mouse_down() called');
return false;
}
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...