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 相关文章推荐
Array对象方法参考
Oct 03 Javascript
Sample script that displays all of the users in a given SQL Server DB
Jun 16 Javascript
jquery下利用jsonp跨域访问实现方法
Jul 29 Javascript
使用js声明数组,对象在jsp页面中(获得ajax得到json数据)
Nov 05 Javascript
javascript闭包的理解
Apr 01 Javascript
JavaScript中join()方法的使用简介
Jun 09 Javascript
ionic js 模型 $ionicModal 可以遮住用户主界面的内容框
Jun 06 Javascript
jQuery实现 RadioButton做必选校验功能
Jun 15 jQuery
Angular6中使用Swiper的方法示例
Jul 09 Javascript
微信小程序Flex布局用法深入浅出分析
Apr 25 Javascript
layerui代码控制tab选项卡,添加,关闭的实例
Sep 04 Javascript
JavaScript, select标签元素左右移动功能实现
May 14 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
ThinkPHP上使用多说评论插件的方法
2014/10/31 PHP
Centos 6.5下PHP 5.3安装ffmpeg扩展的步骤详解
2017/03/02 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
2017/09/16 PHP
PHP封装的验证码工具类定义与用法示例
2018/08/22 PHP
php实现数组中出现次数超过一半的数字的统计方法
2018/10/14 PHP
PHP实现简单注册登录系统
2020/12/28 PHP
JavaScript 获取当前时间戳的代码
2010/08/05 Javascript
DOM和XMLHttpRequest对象的属性和方法整理
2012/01/04 Javascript
js日历功能对象
2012/01/12 Javascript
JQuery中的事件及动画用法实例
2015/01/26 Javascript
jquery实现可点击伸缩与展开的菜单效果代码
2015/08/31 Javascript
JavaScript实现经纬度转换成地址功能
2017/03/28 Javascript
es6+angular1.X+webpack 实现按路由功能打包项目的示例
2017/08/16 Javascript
Django使用多数据库的方法
2017/09/06 Javascript
详解在express站点中使用ejs模板引擎
2017/09/21 Javascript
原生JS实现多个小球碰撞反弹效果示例
2018/01/31 Javascript
vue短信验证性能优化如何写入localstorage中
2018/04/25 Javascript
详解Webpack + ES6 最新环境搭建与配置
2018/06/04 Javascript
vue中使用vue-pdf的方法详解
2020/09/05 Javascript
详解python中的文件与目录操作
2017/07/11 Python
python使用pygame框架实现推箱子游戏
2018/11/20 Python
python 实现矩阵上下/左右翻转,转置的示例
2019/01/23 Python
python 利用jinja2模板生成html代码实例
2019/10/10 Python
python类中super() 的使用解析
2019/12/19 Python
PyTorch加载预训练模型实例(pretrained)
2020/01/17 Python
python使用python-pptx删除ppt某页实例
2020/02/14 Python
如何基于Python实现word文档重新排版
2020/09/29 Python
英国的潮牌鞋履服饰商店:size?
2019/03/26 全球购物
abstract class和interface有什么区别?
2012/01/03 面试题
2013届毕业生求职信范文
2013/11/20 职场文书
开朗女孩的自我评价
2014/02/10 职场文书
清扬洗发水广告词
2014/03/14 职场文书
会计工作能力自我评价
2015/03/05 职场文书
幼儿园校车安全责任书
2015/05/08 职场文书
餐厅营销的秘密:为什么老顾客会流水?
2019/08/08 职场文书
Go语言读取txt文档的操作方法
2022/01/22 Golang