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 相关文章推荐
根据分辨率不同,调用不同的css文件
Aug 25 Javascript
图片上传判断及预览脚本的效果实例
Aug 07 Javascript
jQuery lazyLoad图片延迟加载插件的优化改造方法分享
Aug 13 Javascript
jQuery插件multiScroll实现全屏鼠标滚动切换页面特效
Apr 12 Javascript
JS失效 提示HTML1114: (UNICODE 字节顺序标记)的代码页 utf-8 覆盖(META 标记)的冲突的代码页 utf-8
Jun 23 Javascript
微信小程序 共用变量值的实现
Jul 12 Javascript
JSON 数据格式详解
Sep 13 Javascript
vue keep-alive请求数据的方法示例
May 16 Javascript
Vue.set() this.$set()引发的视图更新思考及注意事项
Aug 30 Javascript
postman自定义函数实现 时间函数的思路详解
Apr 17 Javascript
深入讲解Vue中父子组件通信与事件触发
Mar 22 Vue.js
关于JS中的作用域中的问题思考分享
Apr 06 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
德生BCL3000的电路分析和打磨
2021/03/02 无线电
下拉列表多级联动dropDownList示例代码
2013/06/27 PHP
php使用PDO事务配合表格读取大量数据插入操作实现方法
2017/02/16 PHP
laravel接管Dingo-api和默认的错误处理方式
2019/10/25 PHP
javascript 操作文件 实现方法小结
2009/07/02 Javascript
jQuery 性能优化手册 推荐
2010/02/23 Javascript
js 处理数组重复元素示例代码
2013/12/27 Javascript
一个简单的全屏图片上下打开显示网页效果示例
2014/07/08 Javascript
js添加select下默认的option的value和text的方法
2014/10/19 Javascript
介绍一个简单的JavaScript类框架
2015/06/24 Javascript
node.js+express制作网页计算器
2016/01/17 Javascript
js实现右键自定义菜单
2016/12/03 Javascript
微信小程序 less文件编译成wxss文件实现办法
2016/12/05 Javascript
微信小程序 swiper制作tab切换实现附源码
2017/01/21 Javascript
通过seajs实现JavaScript的模块开发及按模块加载
2019/06/06 Javascript
electron 安装,调试,打包的具体使用
2019/11/06 Javascript
JS数组方法push()、pop()用法实例分析
2020/01/18 Javascript
Element Tooltip 文字提示的使用示例
2020/07/26 Javascript
vue+elementUI实现简单日历功能
2020/09/24 Javascript
python选择排序算法实例总结
2015/07/01 Python
Python中文件的读取和写入操作
2018/04/27 Python
pandas 对series和dataframe进行排序的实例
2018/06/09 Python
python的scikit-learn将特征转成one-hot特征的方法
2018/07/10 Python
关于Python-faker的函数效果一览
2019/11/28 Python
双向RNN:bidirectional_dynamic_rnn()函数的使用详解
2020/01/20 Python
利用pipenv和pyenv管理多个相互独立的Python虚拟开发环境
2020/11/01 Python
解决python3.6用cx_Oracle库连接Oracle的问题
2020/12/07 Python
企业办公室主任岗位职责
2014/02/19 职场文书
小学英语教师先进事迹
2014/05/28 职场文书
成绩单评语
2015/01/04 职场文书
文案策划岗位职责
2015/02/11 职场文书
考勤制度通知
2015/04/25 职场文书
公司联欢会主持词
2015/07/04 职场文书
小学体育教学随笔
2015/08/14 职场文书
中国梦宣传标语口号
2015/12/26 职场文书
PostgreSQL存储过程实用脚本(二):创建函数入门
2021/04/05 PostgreSQL