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 相关文章推荐
JS中eval函数的使用示例
Jul 21 Javascript
javascript的数组和常用函数详解
May 09 Javascript
JavaScript中switch判断容易犯错的一个细节
Aug 27 Javascript
深入理解JS中的substr和substring
Apr 26 Javascript
Jquery Easyui表单组件Form使用详解(30)
Dec 19 Javascript
JavaScript中利用for循环遍历数组
Jan 15 Javascript
vue.js中父组件调用子组件的内部方法示例
Oct 22 Javascript
微信小程序wx:for和wx:for-item的用法详解
Apr 01 Javascript
vue-cli项目中使用Mockjs详解
May 14 Javascript
webpack+vue-cil中proxyTable处理跨域的方法
Jul 20 Javascript
node.js ws模块搭建websocket服务端的方法示例
Apr 25 Javascript
vue实现鼠标经过动画
Oct 16 Javascript
简单谈谈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
第三节 定义一个类 [3]
2006/10/09 PHP
php下实现伪 url 的超简单方法[转]
2007/09/24 PHP
php foreach 使用&amp;(与运算符)引用赋值要注意的问题
2010/02/16 PHP
ubuntu 编译安装php 5.3.3+memcache的方法
2010/08/05 PHP
smarty 缓存控制前的页面静态化原理
2013/03/15 PHP
浅析php设计模式之数据对象映射模式
2016/03/03 PHP
JS创建优美的页面滑动块效果 - Glider.js
2007/09/27 Javascript
JavaScript 学习笔记(四)
2009/12/31 Javascript
jQuery timers计时器简单应用说明
2010/10/28 Javascript
jQuery分别获取选中的复选框值的示例
2014/06/17 Javascript
jQuery中is()方法用法实例
2015/01/06 Javascript
基于JavaScript实现点击页面任何位置返回
2016/08/31 Javascript
JS实现“隐藏与显示”功能(多种方法)
2016/11/24 Javascript
JavaScript利用正则表达式替换字符串中的内容
2016/12/12 Javascript
jQuery遍历节点方法汇总(推荐)
2017/05/13 jQuery
JS获取短信验证码倒计时的实现代码
2017/05/22 Javascript
创建简单的node服务器实例(分享)
2017/06/23 Javascript
Bootstrap + AngularJS 实现简单的数据过滤字符查找功能
2017/07/27 Javascript
Angular4集成ng2-file-upload的上传组件
2018/03/14 Javascript
微信小程序WebSocket实现聊天对话功能
2018/07/06 Javascript
Vue Router去掉url中默认的锚点#
2018/08/01 Javascript
Vue加载json文件的方法简单示例
2019/01/28 Javascript
Node.js实现用户评论社区功能(体验前后端开发的乐趣)
2019/05/09 Javascript
JS+DIV实现拖动效果
2020/02/11 Javascript
python统计文本字符串里单词出现频率的方法
2015/05/26 Python
PyQt4实现下拉菜单可供选择并打印出来
2018/04/20 Python
Python 实现选择排序的算法步骤
2018/04/22 Python
django orm 通过related_name反向查询的方法
2018/12/15 Python
如何提高python 中for循环的效率
2020/04/15 Python
Python3 搭建Qt5 环境的方法示例
2020/07/16 Python
美国男士内衣品牌:Tommy John
2017/12/22 全球购物
外语系毕业生自荐信范文
2013/12/16 职场文书
总经理助理职责
2014/02/04 职场文书
数控专业毕业生求职信
2014/06/12 职场文书
2015年公共机构节能宣传周活动总结
2015/03/26 职场文书
HTML5页面打开微信小程序功能实现
2022/09/23 HTML / CSS