Jquery - 上下文菜单 - 右键单击

时间:2011-09-14 13:56:08

标签: jquery contextmenu background-image right-click

我使用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;
    }                

            });

2 个答案:

答案 0 :(得分:0)

为什么不在点击div本身时弹出contextmenu?如果您只需要通过单击bg图像来显示菜单,则需要将图像放入div本身并对其进行样式设置,使其像bg图像一样。你可以用css z-index和position absolute

来做到这一点

答案 1 :(得分:0)

我认为你过于复杂。

首先,我在代码中的任何位置都没有看到List创建上下文菜单。

其次,您需要做的是:

$("idOfTheObjectYouWantToHaveAMenuOn").contextMenu({menu:"yourList"});