JQuery右键菜单插件ContextMenu使用指南


Posted in Javascript onDecember 19, 2014

插件下载地址:
http://www.trendskitchens.co.nz/jquery/contextmenu/jquery.contextmenu.r2.js

压缩版:
http://www.trendskitchens.co.nz/jquery/contextmenu/jquery.contextmenu.r2.packed.js

Jquery主页:   http://jquery.com/

通过此插件可以在不同的html元素内建立contextmenu,并且可以自定义样式.

<HTML>

 <HEAD>

  <TITLE> JQuery右键菜单 </TITLE>

  <script  src="jquery-1.2.6.min.js"></script>

  <script src="jquery.contextmenu.r2.js"></script>

 </HEAD>

 <BODY>

 <span class="demo1" style="color:green;">

    右键点此

 </span>

<hr />

<div id="demo2">

    右键点此

</div>

<hr />

<div class="demo3" id="dontShow">

  不显示

</div>

<hr />

<div class="demo3" id="showOne">

  显示第一项

</div>

<hr />

<div class="demo3" id="showAll">

  显示全部

</div>

<hr />

    <!--右键菜单的源-->

     <div class="contextMenu" id="myMenu1">

      <ul>

        <li id="open"><img src="folder.png" /> 打开</li>

        <li id="email"><img src="email.png" /> 邮件</li>

        <li id="save"><img src="disk.png" /> 保存</li>

        <li id="delete"><img src="cross.png" /> 关闭</li>

      </ul>

    </div>

    <div class="contextMenu" id="myMenu2">

        <ul>

          <li id="item_1">选项一</li>

          <li id="item_2">选项二</li>

          <li id="item_3">选项三</li>

          <li id="item_4">选项四</li>

        </ul>

   </div>

     <div class="contextMenu" id="myMenu3">

         <ul>

          <li id="item_1">csdn</li>

          <li id="item_2">javaeye</li>

          <li id="item_3">itpub</li>

        </ul>

    </div>

 </BODY>

 <script>

    //所有class为demo1的span标签都会绑定此右键菜单

     $('span.demo1').contextMenu('myMenu1', 

     {

          bindings: 

          {

            'open': function(t) {

              alert('Trigger was '+t.id+'\nAction was Open');

            },

            'email': function(t) {

              alert('Trigger was '+t.id+'\nAction was Email');

            },

            'save': function(t) {

              alert('Trigger was '+t.id+'\nAction was Save');

            },

            'delete': function(t) {

              alert('Trigger was '+t.id+'\nAction was Delete');

            }

          }

    });

    //所有html元素id为demo2的绑定此右键菜单

    $('#demo2').contextMenu('myMenu2', {

      //菜单样式

      menuStyle: {

        border: '2px solid #000'

      },

      //菜单项样式

      itemStyle: {

        fontFamily : 'verdana',

        backgroundColor : 'green',

        color: 'white',

        border: 'none',

        padding: '1px'

      },

      //菜单项鼠标放在上面样式

      itemHoverStyle: {

        color: 'blue',

        backgroundColor: 'red',

        border: 'none'

      },

      //事件    

      bindings: 

          {

            'item_1': function(t) {

              alert('Trigger was '+t.id+'\nAction was item_1');

            },

            'item_2': function(t) {

              alert('Trigger was '+t.id+'\nAction was item_2');

            },

            'item_3': function(t) {

              alert('Trigger was '+t.id+'\nAction was item_3');

            },

            'item_4': function(t) {

              alert('Trigger was '+t.id+'\nAction was item_4');

            }

          }

    });

    //所有div标签class为demo3的绑定此右键菜单

    $('div.demo3').contextMenu('myMenu3', {

    //重写onContextMenu和onShowMenu事件

      onContextMenu: function(e) {

        if ($(e.target).attr('id') == 'dontShow') return false;

        else return true;

      },

      onShowMenu: function(e, menu) {

        if ($(e.target).attr('id') == 'showOne') {

          $('#item_2, #item_3', menu).remove();

        }

        return menu;

      }

    });

 </script>

</HTML>

效果图:

JQuery右键菜单插件ContextMenu使用指南

很好玩很炫酷的功能吧,小伙伴们自己美化下,加入到自己的项目中去吧

Javascript 相关文章推荐
延时重复执行函数 lLoopRun.js
May 08 Javascript
js实现Form栏显示全格式时间时钟效果代码
Aug 19 Javascript
jQuery Ajax 加载数据时异步显示加载动画
Aug 01 Javascript
基于chosen插件实现人员选择树搜索自动筛选功能
Sep 24 Javascript
jQuery的事件预绑定
Dec 05 Javascript
Mobile Web开发基础之四--处理手机设备的横竖屏问题
Aug 11 Javascript
Vue二次封装axios为插件使用详解
May 21 Javascript
vue基于两个计算属性实现选中和全选功能示例
Feb 08 Javascript
Vue 无限滚动加载指令实现方法
May 28 Javascript
对node通过fs模块判断文件是否是文件夹的实例讲解
Jun 10 Javascript
Vue 解决路由过渡动画抖动问题(实例详解)
Jan 05 Javascript
vue特效之翻牌动画
Apr 20 Vue.js
简单谈谈jQuery(function(){})与(function(){})(jQuery)
Dec 19 #Javascript
jQuery多级弹出菜单插件ZoneMenu
Dec 18 #Javascript
使用jquery菜单插件HoverTree仿京东无限级菜单
Dec 18 #Javascript
jQuery实现视频作为全屏幕背景
Dec 18 #Javascript
JS实现判断滚动条滚到页面底部并执行事件的方法
Dec 18 #Javascript
浅析jQuery EasyUI中的tree使用指南
Dec 18 #Javascript
JavaScript实现弹出子窗口并传值给父窗口
Dec 18 #Javascript
You might like
探讨PHP使用eAccelerator的API开发详解
2013/06/09 PHP
php全角字符转换为半角函数
2014/02/07 PHP
PHP自动补全表单的两种方法
2017/03/06 PHP
详解php伪造Referer请求反盗链资源
2019/01/24 PHP
PHP 并发场景的几种解决方案
2019/06/14 PHP
为你的 Laravel 验证器加上多验证场景的实现
2020/04/07 PHP
JS实现打开本地文件或文件夹
2021/03/09 Javascript
JS 文件大小判断的实现代码
2010/04/07 Javascript
JavaScript加强之自定义event事件
2013/09/21 Javascript
JS获取IP、MAC和主机名的五种方法
2013/11/14 Javascript
JS 实现Base64编码与解码实例详解
2016/11/07 Javascript
JS 循环li添加点击事件 (闭包的应用)
2016/12/10 Javascript
nodeJs链接Mysql做增删改查的简单操作
2017/02/04 NodeJs
Vue中之nextTick函数源码分析详解
2017/10/17 Javascript
基于JSONP原理解析(推荐)
2017/12/04 Javascript
nodejs 最新版安装npm 的使用详解
2018/01/18 NodeJs
Javascript 编码约定(编码规范)
2018/03/11 Javascript
Jquery的autocomplete插件用法及参数讲解
2019/03/12 jQuery
layui加载表格,绑定新增,编辑删除,查看按钮事件的例子
2019/09/06 Javascript
Vue自动构建发布脚本的方法示例
2020/07/24 Javascript
Python使用百度API上传文件到百度网盘代码分享
2014/11/08 Python
Python中的heapq模块源码详析
2019/01/08 Python
python函数的作用域及关键字详解
2019/08/20 Python
学习Python列表的基础知识汇总
2020/03/10 Python
HTML5 3D旋转相册的实现示例
2019/12/03 HTML / CSS
Merrell迈乐澳大利亚网站:购买户外登山鞋
2017/05/28 全球购物
全球最大的户外用品零售商之一:The House
2018/06/12 全球购物
构造方法和其他方法的区别?怎么调用父类的构造方法
2013/09/22 面试题
护理专业毕业生自我鉴定
2013/10/08 职场文书
大学生个人简历中的自我评价
2013/12/27 职场文书
母亲追悼会答谢词
2014/01/27 职场文书
幼儿园教师获奖感言
2014/03/11 职场文书
实习单位鉴定评语
2014/04/26 职场文书
公司财务管理制度
2015/08/04 职场文书
Python爬虫数据的分类及json数据使用小结
2021/03/29 Python
如何基于python实现单目三维重建详解
2022/06/25 Python