我正在寻找禁用对特定div进行右键单击的解决方案。我有这样做的代码,但它也显示一个警报(我修复了这个),它可以在整个页面上工作。
<script language="JavaScript">
<!--
//Disable right mouse click Script
//By Oscar Frank
//For full source code, visit http://www.oscarmini.com
var message="";
///////////////////////////////////
function clickIE4(){
if (event.button==2){
return false;
}
}
function clickNS4(e){
if (document.layers||document.getElementById&&!document.all){
if (e.which==2||e.which==3){
return false;
}
}
}
if (document.layers){
document.captureEvents(Event.MOUSEDOWN);
document.onmousedown=clickNS4;
}
else if (document.all&&!document.getElementById){
document.onmousedown=clickIE4;
}
document.oncontextmenu=new Function("return false")
// -->
</script>
有人可以帮助我让这项工作只有一个或多个特定的div吗?谢谢!我是个菜鸟。
答案 0 :(得分:1)
您必须在特定div上添加一个事件(您可以通过id document.getElementById获取div)并为contextmenu添加一个事件侦听器。 例如:
document.getElementById("divId").addEventListener("contextmenu ", function(){
console.log("Right Click");
return false;
});
答案 1 :(得分:1)
在您尝试禁用右键单击事件的div上,您只需添加以下内容:
oncontextmenu="return false;"
示例:
<div oncontextmenu="return false;">This div won't have the right click menu</div>
答案 2 :(得分:0)
我想要做的就是根据我的理解禁用特定div中的鼠标右键单击。 你可以使用jQuery插件。这是您可以参考的代码。
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
div{
border: 2px solid black;
height: 100px;
}
</style>
</head>
<body>
<div id="demo">
This is the Phone and NO ONE SHOULD RIGHT CLICK THIS! >:)
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript">
$('#demo').bind('contextmenu', function(e) {
return false;
});
</script>
</body>
</html>