JS组件Bootstrap ContextMenu右键菜单使用方法


Posted in Javascript onApril 17, 2016

今天来总结下bootstrap的一个小组件的应用。好了,不说废话,进入正题吧。

一、ContextMenu介绍

一个需求:表格行调序,支持多选调序,并且可以不连续多选。什么意思呢?先来看看需要实现的效果图:

JS组件Bootstrap ContextMenu右键菜单使用方法

需求是:需要将选中的6、8、9行移动到第2行和第3行之间。撇开业务不说,单纯从技术层面来说,要想使用最少操作达到上述效果,博主想到了右键功能,如果能够在第2行或者第3行上面点击鼠标右键,通过右键菜单功能将选中的行移动到相应的位置,这样是不是最简单呢。说做咱就做,于是找组件,搜索“bootstrap 右键菜单”。最终找到了我们的ContextMenu组件,仔细研究之后,觉得效果还行,所以在此分享出来供需要使用的园友参考。

ContextMenu开源地址:https://github.com/sydcanem/bootstrap-contextmenu

ContextMenu使用Demo:http://sydcanem.com/bootstrap-contextmenu/

二、ContextMenu效果

初始右键效果

JS组件Bootstrap ContextMenu右键菜单使用方法

运用到项目中

JS组件Bootstrap ContextMenu右键菜单使用方法

执行菜单功能后

JS组件Bootstrap ContextMenu右键菜单使用方法

三、ContextMenu代码示例
其实就这么一个简单的东东,我们来看看如何使用它。

1、引用相应的文件。关键的就两个bootstrap-contextmenu.js和prettify.js

<script src="/Scripts/jquery-1.9.1.min.js"></script>
<script src="/Content/bootstrap/js/bootstrap.min.js"></script>
<script src="/Content/boostrap-contextmenu/bootstrap-contextmenu.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/prettify/r224/prettify.js"></script>

2、html准备

<div id="context-menu">
  <ul class="dropdown-menu" role="menu">
   <li><a tabindex="-1" href="#" operator="top">插入此行上面</a></li>
   <li><a tabindex="-1" href="#" operator="bottom">插入此行下面</a></li>
  </ul>
 </div>

3、JS初始化

 代码不难,就是些表格行操作的逻辑。需要说明的地方:

(1)表格行执行remove和insert之后,需要重新初始化右键菜单功能,否则,右键一次之后,就不再起作用。

(2)如果菜单功能项比较多,需要使用分割线来分组。只需要加<li class="divider"></li>就能搞定。

<div id="context-menu2">
   <ul class="dropdown-menu" role="menu">
    <li><a tabindex="-1">Action</a></li>
    <li><a tabindex="-1">Another action</a></li>
    <li><a tabindex="-1">Something else here</a></li>
    <li class="divider"></li>
    <li><a tabindex="-1">Separated link</a></li>
   </ul>
  </div>

(3)如果想要实现鼠标移动到菜单上面显示蓝色背景,则需要引用另一个css文件即可。

<link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css" rel="stylesheet">

效果如下:

JS组件Bootstrap ContextMenu右键菜单使用方法

如果大家还想深入学习,可以点击这里进行学习,再为大家附两个精彩的专题:Bootstrap学习教程 Bootstrap实战教程

以上就是bootstrap-ContextMenu组件的一些简单用法。可能不够完美,但是对于一般的右键菜单需求能很好的解决。

Javascript 相关文章推荐
js停止输出代码
Jul 20 Javascript
用Javascript评估用户输入密码的强度实现代码
Nov 30 Javascript
JS实现悬浮移动窗口(悬浮广告)的特效
Mar 12 Javascript
jquery禁用右键示例
Apr 28 Javascript
JavaScript中Cookies的相关使用教程
Jun 04 Javascript
JQuery复制DOM节点的方法
Jun 11 Javascript
JQuery标签页效果的两个实例讲解(4)
Sep 17 Javascript
Jquery基础之事件操作详解
Jun 14 Javascript
electron demo项目npm install安装失败的解决方法
Feb 06 Javascript
Vue 实现CLI 3.0 + momentjs + lodash打包时优化
Nov 13 Javascript
js实现上传图片并显示图片名称
Dec 18 Javascript
react使用antd的上传组件实现文件表单一起提交功能(完整代码)
Jun 29 Javascript
js实现select二级联动下拉菜单
Apr 17 #Javascript
基于javascript实现精确到毫秒的倒计时限时抢购
Apr 17 #Javascript
第二次聊一聊JS require.js模块化工具的基础知识
Apr 17 #Javascript
第一次接触JS require.js模块化工具
Apr 17 #Javascript
jqGrid 学习笔记整理——进阶篇(一 )
Apr 17 #Javascript
JS组件Bootstrap dropdown组件扩展hover事件
Apr 17 #Javascript
理解javascript对象继承
Apr 17 #Javascript
You might like
PHP脚本的10个技巧(2)
2006/10/09 PHP
实用函数8
2007/11/08 PHP
PHP中文分词的简单实现代码分享
2011/07/17 PHP
PHP与javascript实现变量交互的示例代码
2013/07/23 PHP
PHP设计模式之装饰器模式实例详解
2018/02/07 PHP
php实现登录页面的简单实例
2019/09/29 PHP
DIV菜单层实现代码
2010/11/19 Javascript
jQuery动画与特效详解
2015/02/01 Javascript
Javascript removeChild()删除节点及删除子节点的方法
2015/12/27 Javascript
JavaScript基础知识及常用方法总结
2016/01/10 Javascript
分享网页检测摇一摇实例代码
2016/01/14 Javascript
AngularJS 2.0新特性有哪些
2016/02/18 Javascript
javascript实现计时器的简单方法
2016/02/21 Javascript
js实现人民币大写金额形式转换
2016/04/27 Javascript
深入理解Angularjs向指令传递数据双向绑定机制
2016/12/31 Javascript
vue中如何引入jQuery和Bootstrap
2017/04/10 jQuery
vue项目tween方法实现返回顶部的示例代码
2018/03/02 Javascript
koa-router源码学习小结
2018/09/07 Javascript
Angular6 正则表达式允许输入部分中文字符
2018/09/10 Javascript
浅谈vue同一页面中拥有两个表单时,的验证问题
2018/09/18 Javascript
记一次用vue做的活动页的方法步骤
2019/04/11 Javascript
JS删除String里某个字符的方法
2021/01/06 Javascript
浅谈vuex为什么不建议在action中修改state
2020/02/02 Javascript
springboot+vue+对接支付宝接口+二维码扫描支付功能(沙箱环境)
2020/10/15 Javascript
使用Python中的cookielib模拟登录网站
2015/04/09 Python
python实现批量监控网站
2016/09/09 Python
Python基于正则表达式实现检查文件内容的方法【文件检索】
2017/08/30 Python
python基础之包的导入和__init__.py的介绍
2018/01/08 Python
关于python导入模块import与常见的模块详解
2019/08/28 Python
python ubplot使用方法解析
2020/01/10 Python
墨西哥皇宫度假村预订:Palace Resorts
2018/06/16 全球购物
汽车销售求职自荐信
2013/10/01 职场文书
法学毕业生自荐信
2013/11/13 职场文书
个人求职信范文分享
2014/01/31 职场文书
立秋之描写立秋的作文(五年级)
2019/08/08 职场文书
提取视频中的音频 Python只需要三行代码!
2021/05/10 Python