我使用jQuery成功地禁用了我正在工作的页面上的右键单击事件。 我想创建一个自定义的右键菜单。 我该如何做?这需要相关的CSS设置才能使其正常工作吗(例如,“position”)?
我使用jQuery成功地禁用了我正在工作的页面上的右键单击事件。 我想创建一个自定义的右键菜单。 我该如何做?这需要相关的CSS设置才能使其正常工作吗(例如,“position”)?
有许多jQuery上下文菜单插件可供使用:
这个例子虽然有点俗气,但是它是有效的。在你的contextmenu处理程序中,你可以在屏幕上特定的位置显示一个DIV,并选择你想要的项目。据我所知,在右键单击元素时出现的上下文菜单中没有自定义菜单项的方法。
<html>
<head>
<title>Context menu test</title>
<style type="text/css">
.element {
background-color: blue;
height: 300px;
width: 300px;
}
.popup {
background-color: red;
border: 1px solid black;
width: 100px;
height: 100px;
position: absolute;
}
</style>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(function() {
$(".element").contextmenu
(
function(e) {
$("div.popup").remove();
$("<div class='popup'>Hi</div>").appendTo("body")
.css("left", e.pageX)
.css("top", e.pageY)
.show();
e.preventDefault(); // return false; also works
}
);
}
);
$.fn.contextmenu = function(func) {
return this.bind("contextmenu", func);
}
</script>
</head>
<body>
<div class="element"></div>
</body>
</html>