3种不同的ContextMenu右键菜单演示

这篇博客演示了如何创建和使用3种不同样式的右键菜单,包括菜单样式、菜单项样式及其事件绑定。通过HTML、CSS和JavaScript实现,适用于网页交互增强。

简单使用的右键菜单,希望能帮助大家。下面是截图和实例代码下载


 

Java代码    收藏代码
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3.     <head>   
  4.         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />   
  5.         <title>3种不同的ContextMenu右键菜单演示</title>  
  6.         <style type="text/css">  
  7.             .content{margin:0 auto;width:360px;}  
  8.             .content p{margin:20px 0 0 0;border:solid 1px #C5D8FF;background:#EDF2FF;padding:10px;}  
  9.         </style>  
  10.     </head>  
  11.     <body>  
  12.   
  13.         <div class="container">  
  14.             <div class="demo">  
  15.                 <div class="contextMenu" id="myMenu1">  
  16.                     <ul>  
  17.                         <li id="open"><img src="/api/jq/ContextMenu/images/folder.png" /> Open</li>  
  18.                         <li id="email"><img src="/api/jq/ContextMenu/images/email.png" /> Email</li>  
  19.                         <li id="save"><img src="/api/jq/ContextMenu/images/disk.png" /> Save</li>  
  20.                         <li id="delete"><img src="/api/jq/ContextMenu/images/cross.png" /> Delete</li>  
  21.                     </ul>  
  22.                 </div>  
  23.   
  24.                 <div class="contextMenu" id="myMenu2">  
  25.                     <ul>  
  26.                         <li id="item_1">Item 1</li>  
  27.                         <li id="item_2">Item 2</li>  
  28.                         <li id="item_3">Item 3</li>  
  29.                         <li id="item_4">Item 4</li>  
  30.                         <li id="item_5">Item 5</li>  
  31.                         <li id="item_6">Item 6</li>  
  32.                         <li id="item_7">Item 7</li>  
  33.                         <li id="item_8">Item 8</li>  
  34.                     </ul>  
  35.                 </div>  
  36.   
  37.                 <div class="contextMenu" id="myMenu3">  
  38.                     <ul>  
  39.                         <li id="item_1">Item 1</li>  
  40.                         <li id="item_2">Item 2</li>  
  41.                         <li id="item_3">Item 3</li>  
  42.                     </ul>  
  43.                 </div>  下载
  44.                 <div class="content">  
  45.                     <p class="demo1"><b>演示</b> 右键单击我的! !</p>  
  46.                     <p class="demo2">在这个段落里面右键点击触发菜单</p>  
  47.                     <p style="font-weight: bold;">  
  48.                         <span class="demo3" id="dontShow" style="padding: 5px; background-color:pink">不显示菜单</span>  
  49.                         <span class="demo3" id="showOne" style="padding: 5px;background-color:lightgreen">显示第一项</span>  
  50.                         <span class="demo3" id="showAll" style="padding: 5px;background-color:lightblue">全部显示</span>  
  51.                     </p>  
  52.                 </div>  
  53.             </div>  
  54.         </div>  
  55.         <script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/1.11.3/jquery.min.js"></script>  
  56.         <script type="text/javascript" src="/api/jq/ContextMenu/js/jquery.contextmenu.r2.js"></script>  
  57.         <script type="text/javascript">  
  58.             $(document).ready(function() {  
  59.                 //class为demo1的样式绑定此右键菜单  
  60.                 $('.demo1').contextMenu('myMenu1', {  
  61.                     bindings: { //绑定事件     
  62.                         'open': function(t) {  
  63.                             alert('Trigger was ' + t.id + '\nAction was Open');  
  64.                         },  
  65.                         'email': function(t) {  
  66.                             alert('Trigger was ' + t.id + '\nAction was Email');  
  67.                         },  
  68.                         'save': function(t) {  
  69.                             alert('Trigger was ' + t.id + '\nAction was Save');  
  70.                         },  
  71.                         'delete': function(t) {  
  72.                             alert('Trigger was ' + t.id + '\nAction was Delete');  
  73.                         }  
  74.                     }  
  75.                 });  
  76.                 //class为demo2的样式绑定此右键菜单  
  77.   
  78.                 $('.demo2').contextMenu('myMenu2', {  
  79.                     menuStyle: { //菜单样式  
  80.                         border: '2px solid #000'  
  81.                     },  
  82.                     itemStyle: { //菜单项样式  
  83.                         fontFamily: 'verdana',  
  84.                         backgroundColor: '#666',  
  85.                         color: 'white',  
  86.                         border: 'none',  
  87.                         padding: '1px'  
  88.                     },  
  89.                     itemHoverStyle: { //菜单项鼠标放在上面样式  
  90.                         color: '#fff',  
  91.                         backgroundColor: '#0f0',  
  92.                         border: 'none'  
  93.                     }  
  94.                 });  
  95.   
  96.                 //class为demo3的样式绑定此右键菜单  
  97.                 $('.demo3').contextMenu('myMenu3', {  
  98.                     onContextMenu: function(e) { //重写onContextMenu  
  99.                         if ($(e.target).attr('id') == 'dontShow')  
  100.                             return false;  
  101.                         else  
  102.                             return true;  
  103.                     },  
  104.                     onShowMenu: function(e, menu) { //重写onShowMenu事件,单独对id=showOne设置  
  105.                         if ($(e.target).attr('id') == 'showOne') {  
  106.                             $('#item_2, #item_3', menu).remove();  
  107.                         }  
  108.                         return menu;  
  109.                     }  
  110.                 });  
  111.             });  
  112.         </script>  
  113.     </body>  
  114. </html> 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值