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 相关文章推荐
javascript读取xml
Nov 04 Javascript
用javascript自动显示最后更新时间
Mar 15 Javascript
node.js解决获取图片真实文件类型的问题
Dec 20 Javascript
jquery实现简单的无缝滚动
Apr 15 Javascript
JavaScript中的Math.E属性使用详解
Jun 12 Javascript
JavaScript中利用jQuery绑定事件的几种方式小结
Mar 06 Javascript
浅谈Javascript数据属性与访问器属性
Jul 26 Javascript
Vue.js使用v-show和v-if的注意事项
Dec 13 Javascript
js实现动态显示时间效果
Mar 06 Javascript
jQuery 实现图片的依次加载图片功能
Jul 06 jQuery
使用jQuery实现页面定时弹出广告效果
Aug 24 jQuery
angularJS1 url中携带参数的获取方法
Oct 09 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生成图片验证码的实例讲解
2015/08/03 PHP
php使用CutyCapt实现网页截图保存的方法
2016/10/03 PHP
PHP使用GD库制作验证码的方法(点击验证码或看不清会刷新验证码)
2017/08/15 PHP
Yii2.0实现的批量更新及批量插入功能示例
2019/01/29 PHP
php + WebUploader实现图片批量上传功能
2019/05/06 PHP
php变量与字符串的增删改查操作示例
2020/05/07 PHP
[原创]站长必须要知道的javascript广告代码
2007/05/30 Javascript
javascript 数组的方法集合
2008/06/05 Javascript
javascript 支持链式调用的异步调用框架Async.Operation
2009/08/04 Javascript
innerHTML 和 getElementsByName 在IE下面的bug 的解决
2010/04/09 Javascript
基于jquery的一个浮动框(扩展性比较好 )
2010/08/27 Javascript
jquery中的查找parents与closest方法之间的区别
2013/12/02 Javascript
js中的onchange和onpropertychange (onchange无效的解决方法)
2014/03/08 Javascript
Windows8下搭建Node.js开发环境教程
2014/09/03 Javascript
JavaScript中使用指数方法Math.exp()的简介
2015/06/15 Javascript
jquery实现的3D旋转木马特效代码分享
2015/08/25 Javascript
Javascript基础_标记文字的实现方法
2016/06/14 Javascript
JavaScript与java语言有什么不同
2016/09/22 Javascript
nodejs个人博客开发第七步 后台登陆
2017/04/12 NodeJs
Vue 路由切换时页面内容没有重新加载的解决方法
2018/09/01 Javascript
CKeditor富文本编辑器使用技巧之添加自定义插件的方法
2019/06/14 Javascript
js基础之事件捕获与冒泡原理
2019/10/09 Javascript
Python算法之栈(stack)的实现
2014/08/18 Python
Python实现通过文件路径获取文件hash值的方法
2017/04/29 Python
python 列表删除所有指定元素的方法
2018/04/19 Python
Python中的上下文管理器相关知识详解
2019/09/19 Python
python3读取autocad图形文件.py实例
2020/06/05 Python
python入门:argparse浅析 nargs='+'作用
2020/07/12 Python
Myprotein加拿大官网:欧洲第一的运动营养品牌
2018/01/06 全球购物
四川internet信息高速公路(C#)笔试题
2012/02/29 面试题
领导接待方案
2014/03/13 职场文书
上课迟到检讨书300字
2014/10/15 职场文书
中学生检讨书1000字
2014/10/28 职场文书
主持人开幕词
2015/01/29 职场文书
正规欠条模板
2015/07/03 职场文书
董事长新年致辞
2015/07/29 职场文书