如何使用JavaScript屏蔽鼠标右键菜单,并且调用其他函数。
并不只是单单屏蔽掉而已,还要能使用右键事件来调用其他函数,如果在<body>中添加onContentexopen="retrunfalse"。这样不止屏蔽掉了右键菜单,也...
并不只是单单屏蔽掉而已,还要能使用右键事件来调用其他函数,如果在<body>中添加 onContentexopen="retrun false" 。这样不止屏蔽掉了右键菜单,也屏蔽掉了其他的方法。 我使用JQuery的onMouseClick(e){}然后用e.which=2的情况来捕获鼠标右键事件。 但是貌似已经被那个return false给阻止了。 请问有别的方法可以做到么。 比如按右键的时候屏蔽掉浏览器的菜单,而弹出我们自己另外编写的菜单。
展开
5个回答
展开全部
有 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函数了 !
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
去掉 onContentexopen="retrun false" 这些代码,用如下的代码
<script type="text/javascript">
$(document).ready(
function(){
$(document).mousedown(function(e){
if(e.which == 3){
e.preventDefault();
alert('禁用右键,弹出自己的');
}
});
}
);
</script>
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
实现代码如下:
<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>
<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>
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
onContentexopen="你的菜单显示函数;retrun false;"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询