Bootstrap快速上手(一)----右键菜单

简介: <div class="markdown_views"><p></p><div class="toc"><div class="toc"><ul><li><a href="#%E5%89%8D%E8%A8%80">前言</a></li><li><a href="#%E5%85%B7%E4%BD%93%E4%BD%BF%E7%94%A8%E8%BF%87%E7%A8

前言


    一款软件,除了稳定,功能强大,用户体验也很重要。界面风格和布局的一致性让人在视觉上感觉到这是一个统一的系统,协调的系统,至于采用什么风格及颜色系统,美工和设计人员起决定作用。对大部分开发人员来说,要设计出良好的系统界面不是件容易的事,特别是在色彩上。

    对没有美工基础的人来说,的确有点困难。我的整体感觉是不要太花哨,颜色也不要太多,东方人可能喜欢偏冷色,西方人喜欢偏暖色。那我们应该怎么去做呢?我想起一句话:

有选择的拿,为我所用的拿,不卑不亢的拿

                                                    —鲁迅《拿来主义》

     其实也可以定义为站在巨人的肩膀上学习,先去借鉴、模仿,为我所用;当然不能只是一味的去模仿,能够用自己的话表达出你的意思,别人能够听懂,这就是进步。

    最近在做UI系统,需要研究DataTable的右键菜单,前端开发框架用的是Bootstrap,简洁、直观、强悍。下面就给大家说说右键菜单的制作。

    在网上查了一堆资料,最终找到一款非常不错的插件:bootstrap-menu,想用的朋友可以下下来自己研究研究,下载地址链接中也有,Demo也有,很容易实现。

具体使用过程


引用

    想要使用bootstrap-menu的话,需要引用一些css和js文件,首先是bootstrap一些基础的css和js文件,若是想要实现右键菜单还需要引用的文件:

<!-- 右键菜单图标css bootstrap自带的一些图标的兼容性不太好,在浏览器中显示有问题,然后就用的这个-->
<link href="${pageContext.request.contextPath}/Script/bootstrap-3.3.0-dist/dist/css/font-awesome.css" rel="stylesheet" type="text/css"/>

<!-- 右键菜单必备js -->
<script type="text/javascript" src="${pageContext.request.contextPath}/Script/bootstrap-3.3.0-dist/dist/js/BootstrapMenu.min.js"></script>

初始化

    Bootstrap DataTable的实现过程中,如果你的数据是动态加载的,那就给它加上初始化的属性,因为你动态加载的数据自动给tr添加了class,单行的是odd,双行的是even,为了统一管理,咱们把默认的删掉,自定义一个class,名字随便:

//当表格完成加载绘制完成后执行此方法。
initComplete: function () {
    $("#table_local tbody tr").removeClass("odd");
    $("#table_local tbody tr").removeClass("even");
    $("#table_local tbody tr").addClass("DynamicAdd");
}

右键菜单js文件

    上面的过程都做完了,咱们就可以开始写js来实现右键菜单了,直接上代码:

$(document).ready(function(){
        var menu=new BootstrapMenu('.DynamicAdd',{       //.DynamicAdd是tbody下的tr的class名称
            fetchElementData:function($rowElem){     //fetchElementData获取元数据
                var data = table.row($rowElem).data();   //获取表格数据
                return data;    //return的目的是给下面的onClick传递参数
            },

            actionsGroups: [  //给右键菜单的选项加一个分组,分割线
                /* ['setEditable', 'setUneditable' ],*/
                ['editDescription'],
                ['deleteRow']

            ],
            /* you can declare 'actions' as an object instead of an array,
            * and its keys will be used as action ids. */
            //自定义右键菜单的功能
            actions: {
                addDescription: {
                    name: '<font size=3>添加</font>',
                    iconClass: 'fa-plus',
                    onClick: function(row) {    //添加右击事件
                        $("#myAddModal").modal("show");
                        //定义你自己的添加事件
                    },
                    isEnabled: function(row) {
                       return row.isEditable;
                    }
                },
                editDescription: {
                      name: '<font size=3>修改</font>',
                      iconClass: 'fa-edit',
                      onClick: function(row) {   //修改右击事件
                           alert(row.id);
                           //定义你自己的修改事件
                      },
                      isEnabled: function(row) {  
                          return row.isEditable;
                      }
               },

               deleteRow: {
                   name: '<font size=3>删除</font>',
                   iconClass: 'fa-trash',
                   onClick: function(row) {  //删除右击事件
                       alert(row.id);
                       //定义你自己的删除事件
                   },
                   isEnabled: function(row) {
                        return row.isEditable && row.isRemovable;
                   }
               }
            }
        });

    .DynamicAdd就是初始化的时候咱们统一给加的class,自己按照上面的代码试试,我觉得注释挺详细的,就不再过多的解释了!需要你动手的时间到了!

这里写图片描述


【转载请注明出处:令仔很忙{ Bootstrap快速上手(一)—-右键菜单 }】

相关文章
Pycharm主题切换(禁用)导致UI界面显示异常解决
问题记录 UI显示异常 安装多个主题时,当禁用某些主题,切换回one dark theme时,发现代码编辑窗口背景变成白色,菜单栏其他地方背景为黑色 问题原因 查看Settings>Editor>Color Scheme>General,发现方案被改为-Classic Light
|
6月前
|
小程序 Linux 开发工具
手把手教你如何在Linux下写进度条小程序(附源码)
手把手教你如何在Linux下写进度条小程序(附源码)
CocosCreator3.8研究笔记(二十三)CocosCreator 动画系统-动画编辑器相关功能面板说明
CocosCreator3.8研究笔记(二十三)CocosCreator 动画系统-动画编辑器相关功能面板说明
209 0
|
Rust JavaScript 前端开发
【Neovim】配置美化完整流程
【Neovim】配置美化完整流程
5742 0
【Neovim】配置美化完整流程
开心档 - 软件开发入门之 Bootstrap4 下拉菜单
Bootstrap4 下拉菜单依赖于 popper.min.js。下拉菜单是可切换的,是以列表格式显示链接的上下文菜单。
|
JavaScript 前端开发 程序员
推荐三个神级VSCode插件[jupyter中写javascript,替代typora的markdown编辑器,记录敲代码时间的插件]
使用过Python的朋友应该都知道Jupyter-Notebook,因为它对新手朋友学习Python可谓是绝佳的工具,对Python老手来说使用它来写一些小Demo或者绘图分析都是非常不错的工具,我们都知道,最近,我开始了深入学习JavaScript的路途,偶尔为敲一下js来验证书中的说法以及自己的想法,同时可能会记一下笔记,然后可能还需要刷Leetcode
763 0
|
开发工具 git 开发者
如何在PHPStorm中打开一个已存在的项目?底层原理是什么?
如何在PHPStorm中打开一个已存在的项目?底层原理是什么?
255 0
|
JavaScript 前端开发 API
三种插件开发模式,带你玩废tinymce
三种插件开发模式 ,带你玩废tinymce ,TinyMCE是一款开源、易用、UI时新、所见即所得的富文本编辑器。是富文本领域中的佼佼者。整体设计和模式,都是非常不错的。其提供的API 极其丰富和强大,简单点 就是专业牛👍,可供广大开发者用户,方便快捷的自行进行扩展或根据实际业务需求进行二次开发。下面我将分享3种方式,带你玩废 tinymce,适合接触过 tinymce 的 小伙伴,如果没有接触过 就随便看看,收藏也不吃亏,保不齐,后面用得上,知道可以这样玩就好了😎
1595 1
三种插件开发模式,带你玩废tinymce
|
JavaScript 前端开发 索引
|
JavaScript 前端开发
Bootstrap教程(24)--折叠插件
本文目录 1. 概述 2. 通过a元素控制折叠 3. 通过JS控制折叠 4. 小结
246 0
Bootstrap教程(24)--折叠插件