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对象弹出一个层
Mar 26 Javascript
jQuery筛选器children()案例详解(图文)
Feb 17 Javascript
jQuery删除节点的三个方法即remove()detach()和empty()
Dec 27 Javascript
jQuery通过控制节点实现仅在前台通过get方法完成参数传递
Feb 02 Javascript
直接拿来用的页面跳转进度条JS实现
Jan 06 Javascript
jQuery实现下拉框功能实例代码
May 06 Javascript
JavaScript如何实现跨域请求
Aug 05 Javascript
jQuery的事件预绑定
Dec 05 Javascript
js处理层级数据结构的方法小结
Jan 17 Javascript
微信小程序 在线支付功能的实现
Mar 14 Javascript
vue2单元测试环境搭建
May 24 Javascript
JavaScript设计模式之原型模式详情
Jun 21 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
虹吸式咖啡探讨–研磨
2021/03/03 冲泡冲煮
新浪SAE搭建PHP项目教程
2015/01/28 PHP
php计算到指定日期还有多少天的方法
2015/04/14 PHP
分享PHP函数实现数字与文字分页代码
2015/07/28 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
2020/02/16 PHP
Cookie跨域问题解决方案代码示例
2020/11/24 PHP
JavaScript 输入框内容格式验证代码
2010/02/11 Javascript
javascript简易缓动插件(源码打包)
2012/02/16 Javascript
jQuery学习笔记之控制页面实现代码
2012/02/27 Javascript
jQuery实现textarea自动增长宽高的方法
2015/12/18 Javascript
微信小程序 页面跳转和数据传递实例详解
2017/01/19 Javascript
Vue集成Iframe页面的方法示例
2017/12/12 Javascript
手把手教你vue-cli单页到多页应用的方法
2018/05/31 Javascript
JS使用栈判断给定字符串是否是回文算法示例
2019/03/04 Javascript
Vue组件模板的几种书写形式(3种)
2020/02/19 Javascript
[39:52]2018DOTA2亚洲邀请赛 4.3 突围赛 EG vs Newbee 第一场
2018/04/04 DOTA
python之import机制详解
2014/07/03 Python
详解python中的线程
2018/02/10 Python
python实现事件驱动
2018/11/21 Python
python 字符串常用函数详解
2019/09/11 Python
tensorflow 分类损失函数使用小记
2020/02/18 Python
利用django创建一个简易的博客网站的示例
2020/09/29 Python
python 实现的IP 存活扫描脚本
2020/12/10 Python
CSS3 按钮边框动画的实现
2020/11/12 HTML / CSS
惠普墨西哥官方商店:HP墨西哥
2016/12/01 全球购物
英国领先的男装设计师服装购物网站:Mainline Menswear
2018/02/04 全球购物
俄罗斯香水和化妆品网上商店:NOTINO.ru
2019/12/17 全球购物
最新党员思想汇报
2014/01/01 职场文书
饭店工作计划书
2014/01/10 职场文书
高中毕业典礼演讲稿
2014/09/09 职场文书
死亡赔偿协议书
2015/01/28 职场文书
建议书范文
2015/02/05 职场文书
小学班级口号大全
2015/12/25 职场文书
民事调解协议书
2016/03/21 职场文书
纯CSS3实现div按照顺序出入效果
2021/07/15 HTML / CSS
详解Python+OpenCV进行基础的图像操作
2022/02/15 Python