繁体   English   中英

使用 jQuery 禁用鼠标滚动中键事件

[英]Disable mouse scroll middle click event with jQuery

我编写了以下代码,用于在单击鼠标时禁用鼠标滚动。 但是我的代码不起作用,当我用鼠标滚动点击它会打开我的链接。

这是我的代码:

 $('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>

您必须使用auxclick才能禁用此功能。 用 'auxclick' 替换你的 'click',并添加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>

您可以使用event.preventDefault()取消操作

 document.onmousedown= function (e) { if( e.which == 2 ) { e.preventDefault(); alert("middle button pressed, dont open"); } }
 <a href="#dontwanttoopen"> click here </a>

试试下面的代码,谢谢:

<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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM