我正在编写一个WebGL游戏,并希望使用右键单击作为控件。但是,它会抛出一个菜单。有可能禁用它吗?我试过了
}
else if (event.which == 2 || event.which == 3)
{
doRightClickControl();
event.preventDefault();
event.stopPropagation();
return false;
}
感谢dknaack提示。我让它像这样工作:
window.oncontextmenu = function(event) {
event.preventDefault();
event.stopPropagation();
return false;
};
答案 0 :(得分:31)
为此目的使用jQuery只是矫枉过正。这样就可以了:
(function () {
var blockContextMenu, myElement;
blockContextMenu = function (evt) {
evt.preventDefault();
};
myElement = document.querySelector('#myElement');
myElement.addEventListener('contextmenu', blockContextMenu);
})();
myElement可以替换为窗口。
答案 1 :(得分:3)
使用此:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<head>
<title>disable rightclick menu - LabLogic</title>
</head>
<body>
<script language="javascript" type="text/javascript">
document.oncontextmenu=RightMouseDown;
document.onmousedown = mouseDown;
function mouseDown(e) {
if (e.which==3) {//righClick
alert("Disabled - do whatever you like here..");
}
}
function RightMouseDown() { return false;}
</script>
</body>
</html>
在Chrome 17中测试过,也适用于其他新浏览器