2013-05-11 77 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