我使用jquery插件 - ContextMenu。 - http://abeautifulsite.net/blog/2008/09/jquery-context-menu-plugin/
我在页面中央有一个div。我有点背景图像。我需要它只在背景图像上使用jquery rightclick。如果单击背景图像,那么我想显示ContextMenu。如果单击id为divPage的div,则不会发生任何事情。
感谢您的建议或可能是另一种解决方案。
HTML
<body>
<form id="formBackground" method="post">
<ul id="myMenu" class="contextMenu">
<li class="insert"><a href="#insert">Add New</a></li>
<li class="edit"><a href="#edit">Edit</a></li>
<li class="delete"><a href="#delete">Delete</a></li>
</ul>
<div id="divPage">
Text.
</div>
</form>
CSS
body, html {
height: 100%;
}
body{
padding: 0px;
margin: 0px;
font-family: Arial, Verdana, Helvetica, sans-serif;
font-size: 12px;
color: white;
background-image: url('../images/backgrounds/bg.jpg');
background-repeat:no-repeat;
background-position:top;
}
div#divPage{
width: 800px;
height: 300px;
margin: auto;
}
JS
$('body').bind('mousedown', function (evt) {
switch (evt.which) {
case 3:
if(evt.target == $('body')[0]) {
//Show context menu
}
break;
}
});
答案 0 :(得分:0)
为什么不在点击div本身时弹出contextmenu?如果您只需要通过单击bg图像来显示菜单,则需要将图像放入div本身并对其进行样式设置,使其像bg图像一样。你可以用css z-index和position absolute
来做到这一点答案 1 :(得分:0)
我认为你过于复杂。
首先,我在代码中的任何位置都没有看到List
创建上下文菜单。
其次,您需要做的是:
$("idOfTheObjectYouWantToHaveAMenuOn").contextMenu({menu:"yourList"});