zoukankan      html  css  js  c++  java
  • JS组件系列——Bootstrap右键菜单解决方案:ContextMenu

    前言:有段时间没发表随笔了,过个年人都变得懒了。新年刚来上班,今天正好得空,将去年遗留的两个小组件总结记录下。有朋友跟我说:你的bootstrap组件要能够形成一个可以满足一般项目需求的系列组件,才有真正的实用价值。想想说得在理。这不今天来总结下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效果

    初始右键效果

    运用到项目中

    执行菜单功能后

    三、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">

    效果如下:

    四、总结

    以上就是bootstrap-ContextMenu组件的一些简单用法。可能不够完美,但是对于一般的右键菜单需求能很好的解决。

  • 相关阅读:
    含字母的数字排序
    ci中简单实用的权限管理
    时间戳和日期转换
    prop
    定时器
    centos查看防火墙策略是firewall还是iptables
    centos上安装rabbitmq服务器
    springcloud微服务feign消费模式解决 com.netflix.client.ClientException: Load balancer does not have available server for client:xxx
    java正则去掉json字符串key的引号
    centos安装redis
  • 原文地址:https://www.cnblogs.com/landeanfen/p/5179960.html
Copyright © 2011-2022 走看看