如何使用JavaScript屏蔽鼠标右键菜单,并且调用其他函数。

并不只是单单屏蔽掉而已,还要能使用右键事件来调用其他函数,如果在<body>中添加onContentexopen="retrunfalse"。这样不止屏蔽掉了右键菜单,也... 并不只是单单屏蔽掉而已,还要能使用右键事件来调用其他函数,如果在<body>中添加 onContentexopen="retrun false" 。这样不止屏蔽掉了右键菜单,也屏蔽掉了其他的方法。 我使用JQuery的onMouseClick(e){}然后用e.which=2的情况来捕获鼠标右键事件。 但是貌似已经被那个return false给阻止了。 请问有别的方法可以做到么。 比如按右键的时候屏蔽掉浏览器的菜单,而弹出我们自己另外编写的菜单。 展开
 我来答
马后雷鼓下扬州5058
2013-04-01 · TA获得超过4321个赞
知道小有建树答主
回答量:693
采纳率:33%
帮助的人:800万
展开全部

有 jQuery 就好办多了,你可以直接使用 contextmenu()。你的自定义 事件/代码 必须写在 return false 之前。


我写了个大概的框架,菜单内容和点击事件你要自己根据实际情况添加。


<!DOCTYPE html>
<html>
<head>
<title>右键自定义菜单</title>
<meta charset="gb2312" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(function() {
var mousex = -99999, mousey = -99999;

$(document).on("contextmenu", function(e) {
mousex = e.pageX;
mousey = e.pageY;

$("#contextmenu").css({
top: mousey,
left: mousex
}).show();

return false;
}).on("click", function() {
$("#contextmenu").hide();
});

$("#contextmenu a").on("click", function() {
alert($(this).text());
});
});
</script>
<style type="text/css">
#contextmenu {
border: 1px solid #aaa;
border-bottom: 0;
background: #eee;
position: absolute;
list-style: none;
margin: 0;
padding: 0;
display: none;
}

#contextmenu li a {
display: block;
padding: 10px;
border-bottom: 1px solid #aaa;
cursor: pointer;
}

#contextmenu li a:hover {
background: #fff;
}
</style>
</head>
<body>
<ul id="contextmenu">
<li><a>自定义右键菜单 项目一</a></li>
<li><a>自定义右键菜单 项目二</a></li>
<li><a>自定义右键菜单 项目三</a></li>
<li><a>自定义右键菜单 项目四</a></li>
<li><a>自定义右键菜单 项目五</a></li>
</ul>
</body>
</html>


截图在空间,在这贴图总提交失败

hi.baidu.com/keneks/item/cb5d4bf938489c2f743c4c25

匿名用户
2013-04-02
展开全部
这个似乎 很简单 onContentexopen="retrun false" 既然是屏蔽鼠标的事件 那么假如你想要屏蔽鼠标又要 做其他是 你就修改下这个事件就行了 onContentexopen=" checkothers(); retrun false;"这样点右键就会 调用 checkothers函数了 !
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友94f02eb
2013-04-01 · TA获得超过8612个赞
知道大有可为答主
回答量:7955
采纳率:74%
帮助的人:4448万
展开全部

去掉 onContentexopen="retrun false" 这些代码,用如下的代码

<script type="text/javascript">
$(document).ready(
function(){
$(document).mousedown(function(e){
if(e.which == 3){
e.preventDefault();
alert('禁用右键,弹出自己的');
}
});
}
);
</script>
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Hui翙
推荐于2018-05-18 · TA获得超过1.2万个赞
知道小有建树答主
回答量:2350
采纳率:93%
帮助的人:149万
展开全部
  实现代码如下:
  <html oncontextmenu="doNothing()">
<head>
<title>屏蔽掉鼠标右键</title>
<script type="text/javascript">

function doNothing(){
window.event.returnValue=false;
return false;
}

</script>
</head>

<body oncontextmenu="doNothing()">
<div style="width:30px;height:30px;background-color:#12aded;"></div>
</body>

</html>
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xyc198600_126
2013-04-01 · TA获得超过135个赞
知道小有建树答主
回答量:112
采纳率:0%
帮助的人:122万
展开全部
onContentexopen="你的菜单显示函数;retrun false;"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式