簡體   English   中英

如何禁用鼠標滾輪單擊按鈕?

[英]How to Disable the Mouse wheel click Button?

我正在嘗試找到一種方法來禁用鼠標滾輪按鈕的默認操作,即在新選項卡中打開鏈接。

那可能嗎?

綁定一個專門檢查中間點擊的通用點擊事件處理程序 在該事件處理程序中,調用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;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM