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 全角转半角部分
Oct 28 Javascript
js DataSet数据源处理代码
Mar 29 Javascript
jQuery操作Select的Option上下移动及移除添加等等
Nov 18 Javascript
JS验证IP,子网掩码,网关和MAC的方法
Jul 02 Javascript
Extjs实现下拉菜单效果
Apr 01 Javascript
js组件SlotMachine实现图片切换效果制作抽奖系统
Apr 17 Javascript
基于BootStrap Metronic开发框架经验小结【四】Bootstrap图标的提取和利用
May 12 Javascript
IScroll5 中文API参数说明和调用方法
May 21 Javascript
vue 路由页面之间实现用手指进行滑动的方法
Feb 23 Javascript
基于vue,vue-router, vuex及addRoutes进行权限控制问题
May 02 Javascript
JS实现继承的几种常用方式示例
Jun 22 Javascript
TS 类型兼容教程示例详解
Sep 23 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危险函数(disable_functions)
2012/02/23 PHP
初识通用数据库操作类――前端easyui-datagrid,form(php)
2015/07/31 PHP
PHP使用curl模拟post上传及接收文件的方法
2016/03/04 PHP
PHP数组去重的更快实现方式分析
2018/05/09 PHP
兼容IE、FireFox、Chrome等浏览器的xml处理函数js代码
2011/11/30 Javascript
JS判断元素为数字的奇异写法分享
2012/08/01 Javascript
用按钮控制iframe显示的网页实现方法
2013/02/04 Javascript
jquery 元素控制(追加元素/追加内容)介绍及应用
2013/04/21 Javascript
原生js实现改变随意改变div属性style的名称和值的结果
2013/09/26 Javascript
jquery select 设置默认选中的示例代码
2014/02/07 Javascript
你可能不知道的JavaScript的new Function()方法
2014/04/17 Javascript
js 动态为textbox添加下拉框数据源的方法
2014/04/24 Javascript
node.js学习总结之调式代码的方法
2014/06/25 Javascript
JS动态显示表格上下frame的方法
2015/03/31 Javascript
jQuery+ajax实现局部刷新的两种方法
2017/06/08 jQuery
javascript 取小数点后几位几种方法总结
2017/08/02 Javascript
微信小程序自定义单项选择器样式
2019/07/25 Javascript
VUE兄弟组件传值操作实例分析
2019/10/26 Javascript
Python发送form-data请求及拼接form-data内容的方法
2016/03/05 Python
python中文乱码不着急,先看懂字节和字符
2017/12/20 Python
元组列表字典(莫烦python基础)
2019/04/03 Python
详解python 模拟豆瓣登录(豆瓣6.0)
2019/04/18 Python
keras读取h5文件load_weights、load代码操作
2020/06/12 Python
python 实现性别识别
2020/11/21 Python
详解CSS3实现响应式手风琴效果
2020/06/10 HTML / CSS
高清安全摄像头系统:Lorex Technology
2018/07/20 全球购物
如何启动时不需输入用户名与密码
2014/05/09 面试题
计算机专业个人求职信范例
2013/09/23 职场文书
摄影助理岗位职责
2014/02/07 职场文书
关于环保的演讲稿
2014/05/10 职场文书
佛光寺导游词
2015/02/10 职场文书
大学生毕业个人总结
2015/02/15 职场文书
2015年小学开学寄语
2015/02/27 职场文书
浅谈MySQL之select优化方案
2021/08/07 MySQL
Python中异常处理用法
2021/11/27 Python
Nginx 反向代理解决跨域问题多种情况分析
2022/01/18 Servers