2013-05-11 103 views
1

我已經使用過,但它不起作用;在螢火蟲沒有錯誤:鼠標:禁用右鍵和中鍵單擊

$("div").live('mousedown', function(e) { 
    if((e.which == 1)) { 
    return ; 
    }if((e.which == 3)) { 
    return false; 
    }else if((e.which == 2)) { 
     return false; 
    } 
}) 

我可以禁用右鍵單擊與contextmenu但我不知道該怎麼做中間的按鈕。

+0

如果您使用jquery最新版本,那麼請使用'on'而不是'live'。 – 2013-05-11 14:28:31

+4

根據[本頁](http://unixpapa.com/js/mouse.html),「Firefox和Opera [截至2011年8月]具有與鼠標中鍵無關的默認操作,不能從Javascript禁用」。 – nnnnnn 2013-05-11 14:33:24

+0

@Mr_Green thanx我不是 – max 2013-05-11 14:38:24

回答

1

您錯過了代碼中的「其他」。

$("div").live('mousedown', function(e) { 
    if((e.which == 1)) { 
    return ; 
    }else if((e.which == 3)) { 
    return false; 
    }else if((e.which == 2)) { 
     return false; 
    } 
}) 
+3

這並不重要,因爲代碼在'if'主體中有'return'語句。 – Pointy 2013-05-11 14:28:51

2

可以作爲described here

<script language="javascript"> 
document.onmousedown=disableclick; 
status="Right Click Disabled"; 
function disableclick(e) 
{ 
    if (e.button == 2) { 
    alert(status); 
    return false;  
    } 
} 
</script> 

使用JavaScript和/或HTML屬性(這實在是一個Javascript事件處理程序反正)這樣做
<body oncontextmenu="return false"> 
... 
</body> 

話雖這麼說:不要這樣做。

爲什麼?因爲除了令人討厭的用戶之外,它沒有任何其他功能。另外,許多瀏覽器都有一個安全選項,禁止禁用右鍵單擊(上下文)菜單。

不知道爲什麼你想要。如果出於某種錯誤的想法,你可以用這種方式保護你的源代碼或圖像,那麼再想一想:你不能。

+1

你的答案似乎只包含右鍵單擊,但問題說_「我可以禁用右鍵單擊與contextmenu,但我不知道如何處理中間按鈕。」_ – nnnnnn 2013-05-11 15:09:12