jQuery自定义右键菜单

首先看下效果,效果在最下面:

代码:

  1 body {
  2     font-size: 12px;
  3     margin: 0px;
  4     padding: 0px;
  5 }
  6 form,div,ul,li {
  7     margin: 0px;
  8     padding: 0px;
  9     list-style-type: none;
 10     overflow: hidden;
 11 }
 12 h1,h2,h3,h4,h5 {
 13     font-size: 12px;
 14     margin: 0px;
 15     padding: 0px;
 16 }
 17 a {
 18     text-decoration: none;
 19 }
 20
 21
 22 .layout {
 23     width: 993px;
 24     clear: both;
 25     margin-right: auto;
 26     margin-left: auto;
 27     border-top-width: 0px;
 28     border-right-width: 4px;
 29     border-bottom-width: 0px;
 30     border-left-width: 4px;
 31     border-top-style: solid;
 32     border-right-style: solid;
 33     border-bottom-style: solid;
 34     border-left-style: solid;
 35     border-top-color: #000000;
 36     border-right-color: #000000;
 37     border-bottom-color: #000000;
 38     border-left-color: #000000;
 39     overflow: hidden;
 40 }
 41 .layout2 {
 42     width: 942px;
 43     margin-right: auto;
 44     margin-left: auto;
 45 }
 46
 47 .Content {
 48     background-color: #376285;
 49 }
 50
 51 .contentBg {
 52     background-color: #173043;
 53 }
 54 div, ul, li {
 55  margin: 0px;
 56  padding: 0px;
 57  list-style-type: none;
 58 }
 59
 60 body {
 61  background-color: #FFFFFF;
 62  font-size: 12px;
 63  margin: 0px;
 64  padding: 0px;
 65 }
 66
 67 #TreeList {
 68  background-color: #FFFFFF;
 69  margin-top: 6px;
 70  margin-right: 9px;
 71  margin-bottom: 6px;
 72  margin-left: 9px;
 73  border: 1px solid #5d7b96;
 74  padding-bottom: 6px;
 75  padding-left: 6px;
 76 }
 77 #TreeList .mouseOver {
 78  background-color: #FAF3E2;
 79 }
 80
 81 #TreeList .ParentNode {
 82  line-height: 21px;
 83  height: 21px;
 84  margin-top: 2px;
 85  clear: both;
 86 }
 87
 88 #TreeList .ChildNode {
 89  background-image: url(/jscss/demoimg/201205/Sys_ModuleIcos.png);
 90  background-position: 15px -58px;
 91  padding-left: 39px;
 92  line-height: 21px;
 93  background-repeat: no-repeat;
 94  border-top-width: 0px;
 95  border-right-width: 0px;
 96  border-bottom-width: 1px;
 97  border-left-width: 0px;
 98  border-top-style: dashed;
 99  border-right-style: dashed;
100  border-bottom-style: dashed;
101  border-left-style: dashed;
102  border-top-color: #aabdce;
103  border-right-color: #aabdce;
104  border-bottom-color: #aabdce;
105  border-left-color: #aabdce;
106  cursor: default;
107  clear: both;
108  height: 21px;
109  color: #314f6a;
110 }
111
112 #TreeList .title {
113  float: left;
114 }
115 #TreeList .input {
116  font-size: 12px;
117  line-height: 18px;
118  color: #FFF;
119  height: 16px;
120  background-color: #3F6B8F;
121  width: 120px;
122  text-align: center;
123  margin-top: 1px;
124  border-top-width: 1px;
125  border-right-width: 1px;
126  border-bottom-width: 1px;
127  border-left-width: 1px;
128  border-top-style: solid;
129  border-right-style: solid;
130  border-bottom-style: solid;
131  border-left-style: solid;
132  border-top-color: #1F3547;
133  border-right-color: #FFF;
134  border-bottom-color: #FFF;
135  border-left-color: #1F3547;
136  float: left;
137 }
138 #TreeList .editBT {
139  float: left;
140  overflow: visible;
141 }
142 #TreeList .editBT .ok {
143  background-image: url(/jscss/demoimg/201205/Sys_ModuleIcos.png);
144  background-repeat: no-repeat;
145  background-position: 0px -89px;
146  height: 13px;
147  width: 12px;
148  float: left;
149  margin-left: 3px;
150  padding: 0px;
151  margin-top: 3px;
152  cursor: pointer;
153 }
154 #TreeList .editBT .cannel {
155  background-image: url(/jscss/demoimg/201205/Sys_ModuleIcos.png);
156  background-repeat: no-repeat;
157  background-position: 0px -120px;
158  float: left;
159  height: 13px;
160  width: 12px;
161  margin-left: 3px;
162  padding: 0px;
163  margin-top: 3px;
164  cursor: pointer;
165 }
166
167 #TreeList .editArea {
168  float: right;
169  color: #C3C3C3;
170  cursor: pointer;
171  margin-right: 6px;
172 }
173
174 #TreeList .editArea span {
175  margin: 2px;
176 }
177
178 #TreeList .editArea .mouseOver {
179  color: #BD4B00;
180  border-top-width: 1px;
181  border-right-width: 1px;
182  border-bottom-width: 1px;
183  border-left-width: 1px;
184  border-top-style: solid;
185  border-right-style: solid;
186  border-bottom-style: solid;
187  border-left-style: solid;
188  border-top-color: #C9925A;
189  border-right-color: #E6CFBB;
190  border-bottom-color: #E6CFBB;
191  border-left-color: #C9925A;
192  background-color: #FFFFFF;
193  margin: 0px;
194  padding: 1px;
195 }
196
197 #TreeList .ParentNode .title {
198  color: #314f6a;
199  cursor: pointer;
200  background-image: url(/jscss/demoimg/201205/Sys_ModuleIcos.png);
201  background-repeat: no-repeat;
202  padding-left: 39px;
203 }
204
205 #TreeList .ParentNode.show .title {
206  font-weight: bold;
207  background-position: 3px -27px;
208 }
209
210 #TreeList .ParentNode.hidden .title {
211  background-position: 3px 4px;
212 }
213
214 #TreeList .ParentNode .editArea {
215  color: #999;
216 }
217 #TreeList .ParentNode.show {
218  background-color: #d1dfeb;
219  border-top-width: 0px;
220  border-right-width: 0px;
221  border-bottom-width: 1px;
222  border-left-width: 1px;
223  border-top-style: solid;
224  border-right-style: solid;
225  border-bottom-style: solid;
226  border-left-style: solid;
227  border-top-color: #5d7b96;
228  border-right-color: #5d7b96;
229  border-bottom-color: #5d7b96;
230  border-left-color: #5d7b96;
231 }
232
233 #TreeList .ParentNode.hidden {
234  border-top-width: 0px;
235  border-right-width: 0px;
236  border-bottom-width: 1px;
237  border-left-width: 0px;
238  border-top-style: dashed;
239  border-right-style: dashed;
240  border-bottom-style: dashed;
241  border-left-style: dashed;
242  border-top-color: #aabdce;
243  border-right-color: #aabdce;
244  border-bottom-color: #aabdce;
245  border-left-color: #aabdce;
246 }
247
248 #TreeList .Row {
249  clear: both;
250  margin-left: 24px;
251  background-image: url(/jscss/demoimg/201205/Sys_ModuleIcos2.png);
252  background-repeat: repeat-y;
253  background-position: 7px 0px;
254 }
255
256 h1 {
257  font-size: 12px;
258  line-height: 24px;
259  color: #FFF;
260  background-color: #396384;
261  text-align: center;
262  margin: 0px;
263  padding: 0px;
264 }
265
266 #OpLimits_Menu {
267  position: absolute;
268  width: 70px;
269  cursor: default;
270  filter: Alpha(Opacity=90);
271 }
272
273 #OpLimits_Menu ul {
274  background-color: #d5effc;
275  border: 1px solid #3e8dad;
276 }
277 #OpLimits_Menu ul li {
278  line-height: 18px;
279  color: #496D81;
280  text-align: center;
281  letter-spacing: 0.3em;
282  height: 18px;
283  cursor: pointer;
284 }
285 #OpLimits_Menu ul .onmouse {
286  background-image: url(/jscss/demoimg/201205/bt1.gif);
287  background-repeat: repeat-x;
288  color: #324A58;
289 }
<div id="TreeList">
   <div class="ParentNode show">
      <div class="title">title</div>
    </div>
    <div class="Row">
      <div class="ChildNode">
        <div class="title">这是一个li</div>
      </div>
      <div class="ChildNode">
        <div class="title">这是一个li</div>
      </div>
      <div class="ChildNode">
        <div class="title">这是一个li</div>
      </div>
      <div class="ChildNode">
        <div class="title">这是一个li</div>
      </div>
      <div class="ChildNode">
        <div class="title">这是一个li</div>
      </div>
    </div>
</div>

<div id="OpLimits_Menu" style="display:none">
 <h1>权限设置</h1>
    <ul>
      <li value="1">查看</li>
      <li value="2">添加</li>
      <li value="3">修改</li>
      <li value="4">删除</li>
    </ul>
</div>

js:

 1     $(function(){
 2   /*首先禁用需要操作区域的右键功能*/
 3     $("#TreeList").on("contextmenu", function (e) {
 4         var pointX = e.pageX;
 5         //这里可以得到鼠标Y坐标
 6         var pointY = e.pageY;
 7         var $div = $("div#OpLimits_Menu"); // 右击自定义div
 8         $div.show().css({ "left": pointX, "top": pointY });
 9         return false;
10     })
11     /*鼠标右键事件判定 e.which 1 = 鼠标左键 left; 2 = 鼠标中键; 3 = 鼠标右键*/
12     var $child = $("#TreeList").find("div.ChildNode");
13     $(document).on("mousedown", function (e) {
14
15         var $div = $("div#OpLimits_Menu"); // 右击自定义div
16         if (e.which != 3) {  // 判断是右击事件执行if里面的操作
17             $div.hide()//
18         }
19     })

这就是最终的效果:

title

这是一个li

这是一个li

这是一个li

这是一个li

这是一个li

权限设置

  • 查看
  • 添加
  • 修改
  • 删除
时间: 2024-10-26 11:18:01

jQuery自定义右键菜单的相关文章

jquery 自定义右键菜单

如果要自定义右键菜单,那么就需要禁止原本的右键菜单,代码如下 document.oncontextmenu = new Function("return false;");//禁止右键默认菜单 该自定义右键菜单是基于jquery上的 html+css: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title&g

自定义右键菜单,禁用浏览器自带的右键菜单[右键菜单实现--Demo]

许多从事Web开发的会发现有些事,我们需要禁用浏览器本事自带的右键菜单,而实现自定义的右键菜单下面我们也来实现一个自定义的右键菜单 首先来创建JSP页面 1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> 2 <html> 3 <head> 4 <title>右键菜单</title> 5 <s

自定义右键菜单

自定义右键菜单 技术一般水平有限,有什么错的地方,望大家指正. 自定义右键菜单,对于一些ERP系统,功能操作比较多,所以我们通常把常用的几个功能放在自定义的右键菜单里方便用户使用. 实现自定义菜单很简单,首先我们要屏蔽原始的右键菜单,自定义菜单出现在鼠标的位置,点击隐藏自定义菜单,过程就是这样的. *{margin:0;padding:0} a{text-decoration:none} ul li{list-style:none} .menu{border:1px solid black;bo

阻止右键菜单(阻止默认事件)&amp;&amp;跟随鼠标移动(大图展示)&amp;&amp;自定义右键菜单

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

[ActionScript 3.0] 自定义右键菜单

将自定义右键菜单的一些属性和方法归纳到AddRightMenu.as,通过实例化此类,调用相关方法即可测试! 1 package 2 { 3 import flash.display.Sprite; 4 import flash.events.ContextMenuEvent; 5 import flash.net.navigateToURL; 6 import flash.net.URLRequest; 7 import flash.ui.ContextMenu; 8 import flash

【连载】Bootstrap开发漂亮的前端界面之自定义右键菜单

连载: 1<教你用Bootstrap开发漂亮的前端界面> 2.<Bootstrap开发漂亮的前端界面之实现原理> 网页中的自定义右键菜单越来越普遍,自定义右键菜单可以增强用户体验,让用户使用软件更加的简便,今天我们就来基于Bootstrap来开发自己的自定义右键菜单. 一.首先,准备好自定义菜单,供单击右键展示: 菜单默认不可见,可以通过 style="display:block" 进行调试预览; <ul class="dropdown-menu

javascript自定义右键菜单代码

javascript自定义右键菜单代码: 右键菜单这个再熟悉不过了,使用电脑的话每天几乎都要操作上千遍右键菜单,下面分享一段自定义右键菜单的代码实例,希望能够给需要相关内容的朋友带来帮助,代码实例如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.51texiao

js之自定义右键菜单

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>自定义右键菜单</title> <style> body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{ m

仿EXCEL插件,智表ZCELL产品V1.7 版本发布,增加自定义右键菜单功能

详细请移步 智表(ZCELL)官网www.zcell.net 更新说明  这次更新主要应用户要求,主要解决了自定义右键菜单事件的支持,并新增了公式中自定义函数传参.快捷键剪切等功能,欢迎大家体验使用. 本次版本更新内容如下: 版本: V1.7发布日期:2019-07-05 1.优化公式中的自定义函数,增加传入参数的支持. 2.增加剪切快捷键CTL+X支持功能. 3.增加自定义右键菜单功能,用户可以自定义开发右键功能,通过BindEvents接口实现. 4.新增获取单元格是否合并单元格接口GetC