如何禁用鼠标滚轮单击按钮?

我正在尝试找到一种方法来禁用鼠标滚轮按钮的默认操作,即在新选项卡中打开链接。

那可能吗?

绑定一个专门检查中间点击的通用点击事件处理程序 。 在该事件处理程序中,调用e.preventDefault()

 $("#foo").on('click', function(e) { if( e.which == 2 ) { e.preventDefault(); } }); 

请注意,并非所有浏览器都支持阻止此默认操作。 对我来说,它只适用于Chrome。 Firefox,Opera和IE9都不会通过鼠标中键点击提升点击事件。 他们确实提高了鼠标和mousedown。

这对我有用……

 $(document).on("mousedown", "selector", function (ev) { if (ev.which == 2) { ev.preventDefault(); alert("middle button"); return false; } }); 

使用JAVASCRIPT禁用鼠标滚轮事件

IE中

 document.attachEvent('onmousewheel', function(e){ if (!e) var e = window.event; e.returnValue = false; e.cancelBubble = true; return false; }, false); 

Safari中

 document.addEventListener('mousewheel', function(e){ e.stopPropagation(); e.preventDefault(); e.cancelBubble = false; return false; }, false); 

Opera中

 document.attachEvent('mousewheel', function(e){ if (!e) var e = window.event; e.returnValue = false; e.cancelBubble = true; return false; }, false); 

Firefox中

 document.addEventListener('DOMMouseScroll', function(e){ e.stopPropagation(); e.preventDefault(); e.cancelBubble = false; return false; }, false); 

我的代码:

 $(document).on('auxclick', 'a', function(e) { if (e.which === 2) { //middle Click e.preventDefault(); e.stopPropagation(); e.stopImmediatePropagation(); return false; } return true;