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

时间:2012-07-09 09:27:16

标签: javascript jquery mousewheel

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

这可能吗?

4 个答案:

答案 0 :(得分:9)

Bind a generic click event handler that specifically checks for middle clicks。在该事件处理程序中,调用e.preventDefault()

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

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

答案 1 :(得分:5)

这对我有用......

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

答案 2 :(得分:2)

使用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);

答案 3 :(得分:1)

我的代码:

{{1}}