jQuery - 右键菜单插件contextMenu使用详解1(安装配置、基本用法

13 篇文章 0 订阅
订阅专栏

一、基本介绍

1,插件说明

(1)contextMenu 是一个专门用于 Web 应用的右键菜单插件。
(2)与一般的菜单插件不同,contextMenu 不需要将其自身绑定到触发对象上。这就使得我们可以随时注入和删除触发器,而不必重新初始化或更新 contextMenu。
(3)contextMenu 可以根据需要创建菜单,即根据触发元素的不同而不同。同时还支持动态创建上下文菜单。

2,功能特点

  • 多种上下文菜单触发方式:右键单击、左键单击、鼠标悬停、自定义触发事件
  • 在触发对象添加或移除的时候,委托处理事件不需要重新初始化
  • 按需动态创建菜单
  • 支持命令图标(可选)
  • 支持多种菜单输入元素:text, textarea, checkbox, radio, select
  • 支持自定义 html 元素
  • 支持显示/隐藏回调来更新命令的状态
  • 即使有数百个触发对象也只占用很小的内存
  • 自动调整菜单的位置以适应窗口
  • 支持启用/禁用命令
  • 支持嵌套子菜单
  • 支持全键盘互动
  • 支持 HTML5<menu>
  • 支持通过 CSS 设置样式

 

3,安装配置

  • 使用 contextMenu 要引入 jquery.contextMenu.js 和 jquery.contextMenu.css
  • 同时由于 contextMenu 依赖 jQuery(必须)和 jQuery UI position(非必须,但还是推荐使用),还必须将这两个引入进来。

1

2

3

4

<script src="jquery-3.1.1.js" charset="utf-8"></script>

<script src="contextMenu/jquery.ui.position.min.js" type="text/javascript"></script>

<script src="contextMenu/jquery.contextMenu.js" type="text/javascript"></script>

<link href="contextMenu/jquery.contextMenu.css" rel="stylesheet" type="text/css" />

 

二,基本用法

1,在单一的元素上添加菜单

(1)效果图

  • 我们在“按钮1”上绑定一个菜单,右键点击即可弹出菜单。
  • 点击菜单项后菜单消失,同时在控制台中输出对应菜单项的命令。

    原文:jQuery - 右键菜单插件contextMenu使用详解1(安装配置、基本用法)    原文:jQuery - 右键菜单插件contextMenu使用详解1(安装配置、基本用法)

 

(2)样例代码

注意:
本样例中右键菜单的触发元素是 button 按钮,它在页面初始化时就已经在那里了。
但即使我们右键菜单先初始化,后面再在页面上动态创建对应的触发元素也是没有问题的。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

<!DOCTYPE html>

<html>

  <head>

    <meta charset="utf-8">

    <title></title>

    <script src="jquery-3.1.1.js" charset="utf-8"></script>

    <script src="contextMenu/jquery.ui.position.min.js" type="text/javascript"></script>

    <script src="contextMenu/jquery.contextMenu.js" type="text/javascript"></script>

    <link href="contextMenu/jquery.contextMenu.css" rel="stylesheet" type="text/css" />

  </head>

  <body>

    <button class="context-menu-one">按钮1</button>

    <script type="text/javascript">

      $(function() {

         //初始化菜单

         $.contextMenu({

             selector: '.context-menu-one',

             callback: function(key, options) {

                 console.log("点击了:" + key);

             },

             items: {

                 "edit": {name: "编辑", icon: "edit"},

                 "cut": {name: "剪切", icon: "cut"},

                 "copy": {name: "复制", icon: "copy"},

                 "paste": {name: "粘贴", icon: "paste"},

                 "delete": {name: "删除", icon: "delete"},

                 "sep1""---------",

                 "quit": {name: "退出", icon: function(){

                     return 'context-menu-icon context-menu-icon-quit';

                 }}

             }

         });

      });

    </script>

  </body>

</html>

 

2,在多个元素上添加菜单

(1)效果图

这个样例同上面的区别是让页面上所有的 li 元素都使用同一个菜单,即右键点击任意一个 li 元素都会显示菜单。

同时点击菜单项后,控制台中除了会输出菜单命令,还会输出对应的 li 元素的文本信息。

    原文:jQuery - 右键菜单插件contextMenu使用详解1(安装配置、基本用法)    原文:jQuery - 右键菜单插件contextMenu使用详解1(安装配置、基本用法)

 

(2)样例代码

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

<ul>

    <li><button>按钮1</button></li>

    <li><button>按钮2</button></li>

    <li>按钮3</li>

    <li>按钮4</li>

</ul>

 

<script type="text/javascript">

  $(function() {

     //初始化菜单

     $.contextMenu({

         selector: 'li',

         callback: function(key, options) {

             console.log("点击了:" + key);

             console.log("来源:" + $(this).text());

         },

         items: {

             "edit": {name: "编辑", icon: "edit"},

             "cut": {name: "剪切", icon: "cut"},

             "copy": {name: "复制", icon: "copy"},

             "paste": {name: "粘贴", icon: "paste"},

             "delete": {name: "删除", icon: "delete"},

             "sep1""---------",

             "quit": {name: "退出", icon: function(){

                 return 'context-menu-icon context-menu-icon-quit';

             }}

         }

     });

  });

</script>

 

三、子菜单

items 节点里还可以嵌套配置,contextMenu 便会自动生成相应的子菜单。

 

1,效果图

下面我们创建一个拥有三级子菜单的菜单。

原文:jQuery - 右键菜单插件contextMenu使用详解1(安装配置、基本用法)

 

2,样例代码

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

<button class="context-menu-one">按钮1</button>

 

<script type="text/javascript">

  $(function() {

     //初始化菜单

     $.contextMenu({

         selector: '.context-menu-one',

         callback: function(key, options) {

             console.log("点击了:" + key);

         },

         items: {

             "edit": {name: "编辑", icon: "edit"},

             "cut": {name: "剪切", icon: "cut"},

             "sep1""---------",

             "fold1": {

                name: "布局",

                items: {

                    "fold1-key1": {name: "相对定位"},

                    "fold1-key2": {name: "绝对定位定位"},

                    "fold2": {

                        name: "对齐",

                        items: {

                            "fold2-key1": {name: "左对齐"},

                            "fold2-key2": {name: "右对齐"},

                            "fold2-key3": {name: "居中显示"}

                        }

                    },

                }

            },

         }

     });

  });

</script>

 

四、给菜单项单独配置回调方法

我们知道所有的菜单项点击后都会触发配置的 callback 方法。其实每个菜单项也可以配置自己的 callback 方法。当然这个菜单项如果一旦有自定的 callback 方法,点击后是不会再调用外面那个 callback 方法了。

 

1,效果图

我们给“编辑”项添加了个单独的 callback 方法,可以发现点击后触发的方法和其它两个菜单项不一样。

2017102414304170268.pnguploading.4e448015.gif转存失败 重新上传 取消 原文:jQuery - 右键菜单插件contextMenu使用详解1(安装配置、基本用法)

 

2,样例代码

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

<button class="context-menu-one">按钮1</button>

 

<script type="text/javascript">

  $(function() {

     //初始化菜单

     $.contextMenu({

         selector: '.context-menu-one',

         callback: function(key, options) {

             console.log("点击了:" + key);

         },

         items: {

           "edit": {

                  name: "编辑",

                  icon: "edit",

                  callback: function(itemKey, opt, rootMenu, originalEvent) {

                      console.log("“编辑”菜单项被点击了");

                  }

              },

             "cut": {name: "剪切", icon: "cut"},

             "copy": {name: "复制", icon: "copy"},

         }

     });

  });

</script>

JavaFX+Jfoenix 学习笔记(五)--ContextMenu右键菜单源码
07-20
JavaFX+Jfoenix 学习笔记系列文章的JavaFX+Jfoenix 学习笔记(五)--ContextMenu右键菜单源码
后台管理系统:实现右键菜单jQuerycontextMenu插件使用详解
eqilin2022的博客
01-12 1150
(1)contextMenu 是一个专门用于 Web 应用的右键菜单插件
推荐项目:jQuery-contextMenu - 轻松打造自定义右键菜单
最新发布
gitblog_00053的博客
03-23 267
推荐项目:jQuery-contextMenu - 轻松打造自定义右键菜单 项目地址:https://gitcode.com/swisnl/jQuery-contextMenu 项目简介 jQuery-contextMenu 是一个开源的 jQuery 插件,专为网页应用设计,用于创建响应式且高度可定制的右键菜单。该项目由 SwissNL 开发并维护,其目标是简化开发者在网页中添加自定义上下文(右...
JQueryContextMenu(右键菜单)
weixin_33985507的博客
09-18 311
插件下载地址:http://www.trendskitchens.co.nz/jquery/contextmenu/jquery.contextmenu.r2.js压缩版:http://www.trendskitchens.co.nz/jquery/contextmenu/jquery.contextmenu.r2.packed.jsJquery主页: http://jquery.com/插件...
ContextMenu文本菜单右键菜单)、SubMenu子菜单
Mr_Leixiansheng的博客
03-23 1323
作用:长点击弹出文本菜单 步骤: (一般使用在listview等) 1、创建好listview 2、重写onCreateContextMenu(步骤和Menu一样) 3、设置文本菜单监听 代码如下: 1、界面布局mxl
Android开发——菜单(Menu)-——上下文菜单ContextMenu)、 弹出菜单(PopupMenu)
weixin_42857359的博客
03-13 3958
上下文菜单ContextMenu) 长按某个view不放,就会在屏幕中间弹出ContextMenu。 一个Activity中间只可能有一个OptionMenu,但一个Activity中间有多个View,这些View都可以根据自己的需求设置自己的ContextMenu。 ...
ContextMenu菜单详解
QiYeBoke的博客
10-20 6598
* ListView三要素  * 1:ListView组件  * 2:适配器    ArrayAdapter(就显示一行文字) SimpleAdapter(图文并茂)  BaseAdapter(也有点击事件)  * 3:数据集  *  菜单分为三种  *  1:上下文菜单  ContextMenu   一般都是结合组件使用  所以通一个方法注册即可registerForContextMe
JQuery右键菜单插件ContextMenu使用指南
12-12
插件下载地址: http://www.trendskitchens.co.nz/jquery/contextmenu/jquery.contextmenu.r2.js 压缩版: ...Jquery主页: http://jquery.com/ 通过此插件可以在不同的html元素内建立... JQuery右键菜单 </TITLE>  
jquery-contextMenu右键(左键)菜单插件
12-26
功能齐全的上下文菜单处理程序,可处理数千个元素。很实用的插件,在网页列表中可实现鼠标右键点击出现操作菜单,提高用户体验。
jQuery右键菜单contextMenu使用实例
10-28
在最近项目中需要频繁的右键菜单操作。我采用了contextMenu这款jQuery插件
jquery插件ContextMenu设置右键菜单
10-20
主要介绍了jquery插件ContextMenu设置右键菜单的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
jQuery右键菜单ContextMenu详细使用
08-07
NULL 博文链接:https://justcoding.iteye.com/blog/2110279
使用contextMenu插件实现Bootstrap table弹出右键菜单
12-02
最近遇到有一个需求,需要在Bootstrap table上使用右键。网上搜了半天没有找到,最后发现Bootstrap table不支持右键(官方文档给出的答案 https://github.com/wenzhixin/bootstrap-table/issues/241 )。 本文介绍使用...
jQuery-contextMenujQuery contextMenu插件和polyfill
02-03
jQuery contextMenu插件和Polyfill $ .contextMenu是用于上下文菜单的管理工具(您猜对了)。 它是为可能显示上下文菜单的数百个元素的应用程序而设计的-因此初始化速度和内存使用都保持很小。 它还允许注册上下文...
在vue项目中使用Jquery-contextmenu插件的步骤讲解
10-17
今天小编就为大家分享一篇关于在vue项目中使用Jquery-contextmenu插件的步骤讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
BootstrapContextMenu是一款非常实用的基于Bootstrap的jQuery右键上下文菜单插件
08-10
Bootstrap Context Menu是一款非常实用的基于Bootstrap的jQuery右键上下文菜单插件。该右键菜单插件可以在多种元素上触发,也可以配合Font Awesome字体图标一起使用,非常的方便。
JQUERY_contextMenu_学习
iteye_3366的博客
11-08 208
[menuContext首页:http://www.trendskitchens.co.nz/jquery/contextmenu/] contextMenu的js文件学习: /* *!!!!!![$(x).contextMenu(id,options)---便于称呼先暂时称:对元素x的一次绑定(x可能是一个元素集合)] * 元素x称为绑定元素 *给元素添加右...
Jquery系列之contextMenu右键菜单使用
Nicky's blog
12-31 4512
本博客介绍一下一款开源的jquery右键菜单插件使用,github链接:https://github.com/swisnl/jQuery-contextMenu 样例代码: &amp;lt;!DOCTYPE html&amp;gt; &amp;lt;html&amp;gt; &amp;lt;head&amp;gt; &amp;lt;meta charset=&quot;utf-8&quot;&amp;gt;
contextmenu
08-17
上下文菜单(Context Menu)是一种用户界面元素,它在用户右键单击对象或操作时弹出。它提供了与上下文相关的选项和命令,以便用户可以在特定上下文中执行相关操作。上下文菜单通常显示在鼠标单击位置附近,并且根据用户的操作而动态更新。它可以在各种应用程序和操作系统中使用,提供了一种快速访问常用功能的方式。常见的上下文菜单选项包括复制、粘贴、剪切、删除、重命名等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • BigDecimal比较大小问题 135896
  • java BigDecimal实现精确加减乘除运算 128474
  • 使用JSON.parse()转化成json对象需要注意的地方 82747
  • Spring的五种依赖注入方式 79258
  • 详细:idea如何设置文件头注释和方法注释 75879

分类专栏

  • 狼人杀
  • 开发规范 5篇
  • Nacos 1篇
  • 数据结构 4篇
  • 产品经理 3篇
  • shell 6篇
  • vim
  • 投资理财 5篇
  • vue
  • steam 1篇
  • windows 2篇
  • chrome 1篇
  • 装机 1篇
  • 微信小程序 4篇
  • WeChat
  • Anaconda
  • Markdown 1篇
  • Alpine 1篇
  • elastic 1篇
  • zsh
  • java 271篇
  • 数据库 16篇
  • jquery 13篇
  • html 10篇
  • css 10篇
  • javascript 83篇
  • idea 20篇
  • linux 42篇
  • redis 10篇
  • 求职面试招聘 17篇
  • eclipse 4篇
  • nginx 7篇
  • jms 2篇
  • C/C++ 2篇
  • java 8 12篇
  • Guava 4篇
  • 小工具 4篇
  • Python 13篇
  • sql 18篇
  • git 13篇
  • 其他 5篇
  • Django 1篇
  • Java编码规范 1篇
  • 职业发展 9篇
  • vscode
  • maven 3篇
  • web安全 3篇
  • php 1篇
  • Mybatis 10篇
  • 分布式 6篇
  • svn 1篇
  • notepad 1篇
  • javaFX
  • swagger 1篇
  • WireMock 1篇
  • REST接口测试 2篇
  • exe4j 3篇
  • 设计模式 3篇
  • PLSQL 5篇
  • PDF 1篇
  • Flying Saucer 1篇
  • poi 3篇
  • mysql 14篇
  • spring 14篇
  • springboot 9篇
  • oracle 12篇
  • apache 1篇
  • yaml 1篇
  • 架构 4篇
  • jwt 1篇
  • tomcat 5篇
  • docker 17篇
  • jvm 5篇
  • office
  • 算法 3篇
  • 分布式日志
  • MongoDb 2篇
  • ZooKeeper 2篇
  • Mac 6篇
  • ffmpeg 9篇
  • x264
  • dubbo 2篇
  • oss
  • hdfs 1篇
  • vagrant 4篇

最新评论

  • Powershell 7.x中UTF-8环境中文乱码解决办法

    Ealsen.: 我没有备份 是不是完蛋了表情包

  • 详解Java 12新特性:switch表达式

    ababawaibi: ->后面可以接三目吗

  • SQL使用using关键字详解

    Jsy_fintech_new: and table2.column2=table3.table2; 这个确定没有错误么表情包

  • Java 最常见的 208 道面试题(含答案)之一

    天蓝999: 可以的,我看的另一篇,我面试时90%以上的题目在下边这个博客里:https://knife.blog.csdn.net/article/details/121219272

  • Powershell 7.x中UTF-8环境中文乱码解决办法

    Byxs20: 给我坑死了,还好我有一份备份真绝了

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • HttpClient工具类-基于4.3.x版本
  • java命令执行jar包的多种方法(四种方法)
  • Lock wait timeout exceeded; try restarting transaction问题分析
2024年3篇
2023年11篇
2022年30篇
2021年26篇
2020年113篇
2019年148篇
2018年171篇
2017年161篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

聚圣源八字缺金怎么起名子园林雕塑公司怎么起名庆余年mp4李的男孩子起什么名字洪荒之神棍开山祖喷薄而出姓王女孩起名洋气的男孩免费起名网14画 起名 繁体字带皖字饭店起名现代极品仙人孙悟空大战二郎神踢脚线是什么日文起名网winrar绿色破解版给男孩女孩起名大全99人人带鹅的火锅起名大全泽天记起一个通信的公司名移动藏经阁恐怖悬疑小说紫气阁姓程起名女生子烧烤店烤鸽子怎么起名周易起名称大全iapcracker重生豪门之强势归来五行八字起名字的法务公司起名淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男孩疑遭霸凌 家长讨说法被踢出群国产伟哥去年销售近13亿网友建议重庆地铁不准乘客携带菜筐雅江山火三名扑火人员牺牲系谣言代拍被何赛飞拿着魔杖追着打月嫂回应掌掴婴儿是在赶虫子山西高速一大巴发生事故 已致13死高中生被打伤下体休学 邯郸通报李梦为奥运任务婉拒WNBA邀请19岁小伙救下5人后溺亡 多方发声王树国3次鞠躬告别西交大师生单亲妈妈陷入热恋 14岁儿子报警315晚会后胖东来又人满为患了倪萍分享减重40斤方法王楚钦登顶三项第一今日春分两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?周杰伦一审败诉网易房客欠租失踪 房东直发愁男子持台球杆殴打2名女店员被抓男子被猫抓伤后确诊“猫抓病”“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火男孩8年未见母亲被告知被遗忘恒大被罚41.75亿到底怎么缴网友洛杉矶偶遇贾玲杨倩无缘巴黎奥运张立群任西安交通大学校长黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发妈妈回应孩子在校撞护栏坠楼考生莫言也上北大硕士复试名单了韩国首次吊销离岗医生执照奥巴马现身唐宁街 黑色着装引猜测沈阳一轿车冲入人行道致3死2伤阿根廷将发行1万与2万面值的纸币外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万手机成瘾是影响睡眠质量重要因素春分“立蛋”成功率更高?胖东来员工每周单休无小长假“开封王婆”爆火:促成四五十对专家建议不必谈骨泥色变浙江一高校内汽车冲撞行人 多人受伤许家印被限制高消费

聚圣源 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化