1. 程式人生 > >JS元件系列——Bootstrap右鍵選單解決方案:ContextMenu

JS元件系列——Bootstrap右鍵選單解決方案:ContextMenu

前言:有段時間沒發表隨筆了,過個年人都變得懶了。新年剛來上班,今天正好得空,將去年遺留的兩個小元件總結記錄下。有朋友跟我說:你的bootstrap元件要能夠形成一個可以滿足一般專案需求的系列元件,才有真正的實用價值。想想說得在理。這不今天來總結下bootstrap的一個小元件的應用。好了,不說廢話,進入正題吧。

一、ContextMenu介紹

年前,博主接到一個需求:表格行調序,支援多選調序,並且可以不連續多選。什麼意思呢?先來看看需要實現的效果圖:

需求是:需要將選中的6、8、9行移動到第2行和第3行之間。撇開業務不說,單純從技術層面來說,要想使用最少操作達到上述效果,博主想到了右鍵功能,如果能夠在第2行或者第3行上面點選滑鼠右鍵,通過右鍵選單功能將選中的行移動到相應的位置,這樣是不是最簡單呢。說做咱就做,於是找元件,搜尋“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元件的一些簡單用法。可能不夠完美,但是對於一般的右鍵選單需求能很好的解決。

相關推薦

JS元件系列——Bootstrap選單解決方案ContextMenu

前言:有段時間沒發表隨筆了,過個年人都變得懶了。新年剛來上班,今天正好得空,將去年遺留的兩個小元件總結記錄下。有朋友跟我說:你的bootstrap元件要能夠形成一個可以滿足一般專案需求的系列元件,才有真正的實用價值。想想說得在理。這不今天來總結下bootstrap的一個小元件的應用。好了,不說廢話,進入正題吧

JS元件系列——BootstrapTable 行內編輯解決方案x-editable

前言:之前介紹bootstrapTable元件的時候有提到它的行內編輯功能,只不過為了展示功能,將此一筆帶過了,罪過罪過!最近專案裡面還是打算將行內編輯用起來,於是再次研究了下x-editable元件,遇到過一些坑,再此做個採坑記錄吧!想要了解bootstrapTable的園友可以移步 JS元件系列——表格元

JS元件系列——Bootstrap Table 凍結列功能IE瀏覽器相容性問題解決方案

前言:最近專案裡面需要用到表格的凍結列功能,所謂“凍結列”,就是某些情況下表格的列比較多,需要固定前面的幾列,後面的列滾動。遺憾的是,bootstrap table裡自帶的fixed column功能有一點bug,於是和同事討論該如何解決,於是就有了這篇文章。 一、起因回顧 第一列固定 貌似

JS元件系列——Bootstrap Table 表格行拖拽

前言:之前一直在研究DDD相關知識,好久沒更新JS系列文章了。這兩天做了一個簡單的業務需求,覺得效果還可以,今天在這裡分享給大家,歡迎拍磚~~ 一、業務需求及實現效果 專案涉及到訂單模組,那天突然接到一個需求,說是兩種不同狀態的訂單之間要實現插單的效果,頁面上呈現方式是:左右兩個Table,左邊Table

JS元件系列——Bootstrap 樹控制元件使用經驗分享

前言:很多時候我們在專案中需要用到樹,有些樹僅僅是展示層級關係,有些樹是為了展示和編輯層級關係,還有些樹是為了選中項然後其他地方呼叫選中項。不管怎麼樣,樹控制元件都是很多專案裡面不可或缺的元件之一。今天,博主打算結合自己的使用經歷和網上找到的一些不錯的樹控制元件在這裡做一個分享,希望能幫大家找到最合適的控制元

JS元件系列——Bootstrap元件福利篇幾款好用的元件推薦

前言:之前分享過很多bootstrap常用元件,包括表格、表單驗證、檔案上傳、複選下拉框、彈出框等。這段時間,博主又收藏了一些好用的元件(有些在專案中已經用起來了),經過兩天的時間,已經整理出了一部分,本著“好東西要與人分享”的原則,今天還是來點福利,將博主收藏的東西分享出來,供需要的園友參考。元件大部分都是

JS元件系列——Bootstrap寒冬暖身篇彈出框和提示框效果以及程式碼展示

前言:對於Web開發人員,彈出框和提示框的使用肯定不會陌生,比如常見的表格新增和編輯功能,一般常見的主要有兩種處理方式:行內編輯和彈出框編輯。在增加使用者體驗方面,彈出框和提示框起著重要的作用,如果你的系統有一個友好的彈出提示框,自然能給使用者很好的頁面體驗。前面幾章介紹了bootstrap的幾個常用元件,這

JS元件系列——Bootstrap元件福利篇幾款好用的元件推薦(二)

前言:上篇 JS元件系列——Bootstrap元件福利篇:幾款好用的元件推薦 分享了幾個專案中比較常用的元件,引起了許多園友的關注。這篇還是繼續,因為博主覺得還有幾個非常簡單、實用的元件,實在不願自己一人獨享,沒辦法,誰讓博主這麼愛分享呢~~ 七、多值輸入元件manifest 關於文字框的多值輸入,一

JS元件系列——Bootstrap Select2元件使用小結

前言:在介紹select元件的時候,博主之前分享過一篇JS元件系列——兩種bootstrap multiselect元件大比拼,這兩個元件的功能確實很強大,只可惜沒有圖文結合的效果(也就是將圖片放入到select裡面隨著文字一起顯示)。前兩天做一個選單圖示選擇的功能,就要用到這個圖文選擇的功能。於是乎又是找啊

JS元件系列——Bootstrap檔案上傳元件bootstrap fileinput

前言:之前的三篇介紹了下bootstrap table的一些常見用法,發現博主對這種扁平化的風格有點著迷了。前兩天做一個excel匯入的功能,前端使用原始的input type='file'這種標籤,效果不忍直視,於是博主下定決心要找一個好看的上傳元件換掉它。既然bootstrap開源,那麼社群肯定有很多關於

JS元件系列——Bootstrap Table 表格行拖拽(二多行拖拽)

前言:前天剛寫了篇JS元件系列——Bootstrap Table 表格行拖拽,今天接到新的需要,需要在之前表格行拖拽的基礎上能夠同時拖拽選中的多行。博主用了半天時間研究了下,效果是出來了,但是感覺不盡如人意。先把它分享出來,以後想到更好的辦法再優化吧。 一、效果展示 1、拖動前 2、拖動中

js實現自定義選單

JavaScript實現自定義右鍵選單,思路如下: 1. 遮蔽預設右鍵事件; 2. 隱藏自定義的選單模組(如div、ul等); 3. 右鍵點選特定或非特定區域,顯示選單模組; 4. 再次點選,隱藏選單

C#進階系列——WebApi 跨域問題解決方案CORS

dea ati ice pro target default 異常 測試工具 復雜 前言:上篇總結了下WebApi的接口測試工具的使用,這篇接著來看看WebAPI的另一個常見問題:跨域問題。本篇主要從實例的角度分享下CORS解決跨域問題一些細節。 WebApi系列文章

JS元件Bootstrap ContextMenu選單使用方法

今天來總結下bootstrap的一個小元件的應用。好了,不說廢話,進入正題吧。 一、ContextMenu介紹 一個需求:表格行調序,支援多選調序,並且可以不連續多選。什麼意思呢?先來看看需要實現的效果圖: 需求是:需要將選中的6、8、9行移動到第2行和第3行之間。撇開業務不說,單純從技術層面來

SlwUi(Super Lightweight UI)前端js外掛菜單系列(3)選單SlwCtxMenu,導航選單SlwMenu

      今天介紹前端js外掛菜單系列(3)右鍵選單SlwCtxMenu,導航選單SlwMenu。 基於jQuery,瀏覽器相容(Browser Support) Internet Explore

JS元件系列——基於Bootstrap Ace模板的選單和Tab頁效果分享(你值得擁有)

前言:最近園子裡多了許多談語言、談環境、談逼格(格局)的文章,看看笑笑過後,殊不知其實都是然並卵。提升自己的技術才是王道。之前博主分享過多篇bootstrap元件的文章,引起了很多園友的關注和支援,看樣子這種風格還是受到很多園友青睞的。本著不辜負園友們的支援的原則,應群友們的要求,今天來分享下專案中使用Ace

JS元件系列——基於Bootstrap Ace模板的選單Tab頁效果優化

前言:之前發表過一篇  JS元件系列——基於Bootstrap Ace模板的選單和Tab頁效果分享(你值得擁有) ,收到很多園友的反饋,當然也包括很多詬病,因為上篇只是將功能實現了,很多細節都沒有處理,這篇博主將帶領大家一起來優化這裡的效果,使之成為一個可以在專案裡面使用的成品。 說點題外話,本來,在網際網

WPF 新增winform控制元件,不支援選單解決方法

            Datagridview.ContextMenuStrip = contextMenuStripDatagrid;             contextMenuStripDatagrid.Items.AddRange(new System.Windows.Forms.ToolStr

js jQuery 選單 清屏

主要用到了oncontextmenu事件,在oncontextmenu事件中使用return false 遮蔽掉原生右鍵選單,再使用event獲取滑鼠的座標位置,設定自定義選單的位置。   http://swisnl.github.io/jQuery-contextM

js靜止開啟選單和控制檯

document.oncontextmenu = new Function("return false;"); document.onkeydown = document.onkeyup = document.onkeypress = function (e) { va