Struts項目中右鍵菜單一般很少用到,但是一旦客戶有要求,很多人就懵圈了,比如我。這個時候,當然要表現鎮定,一面拍著胸口對客戶承諾說絕對可以實現,一面趕緊打開百度神器,搜搜看是否有前人已經寫好的插件。
於是便找到了jQuery的ContextMenu插件。上官網看看Demo,真不錯,正是我要的效果。源碼下下來,卻沒有說明文檔告訴我們該如何組裝,可能寫這插件的牛人們覺得步驟太簡單,寫出來都覺得丟人。可苦了我們這等愚昧之徒,研究半天,總算從一堆代碼中取其精華棄其糟粕,形成最簡練的代碼,以供初學者們參考。
官網下載地址:http://plugins.jquery.com/contextMenu/
我這邊下的是1.6.6版本。源碼目錄結構如下:
裡邊有個demo.html文件,這個就是我們要研究的對象。打開這個文件,可以試試效果,感覺不錯吧。
但是用記事本或者其他編輯器查看源代碼,你會覺得頭暈。一堆的js文件和css文件,恐怖不是每個都是必須的,這就要我們自己調試了,插件作者是不會告訴我們的。
OK,由於時間關系,我已經幫大家刪掉多余的代碼,精簡後的代碼如下:
<html> <head> <title>jQuery contextMenu Plugin Demo</title> <script src="jquery-1.8.2.min.js" type="text/javascript"></script> <script src="src/jquery.contextMenu.js" type="text/javascript"></script> <link href="src/jquery.contextMenu.css" rel="external nofollow" rel="stylesheet" type="text/css" /> </head> <body> <div class="context-menu-one"> <strong>right click me</strong> </div> <script type="text/javascript" class="showcase"> $(function(){ $.contextMenu({ selector: '.context-menu-one', callback: function(key, options) { var m = "clicked: " + key; window.console && console.log(m) || alert(m); }, items: { "edit": {name: "Edit", icon: "edit"}, "cut": {name: "Cut", icon: "cut"}, "copy": {name: "Copy", icon: "copy"}, "paste": {name: "Paste", icon: "paste"}, "delete": {name: "Delete", icon: "delete"}, "sep1": "---------", "quit": {name: "Quit", icon: "quit"} } }); $('.context-menu-one').on('click', function(e){ console.log('clicked', this); }) }); </script> </body> </html>
運行效果:
根據這段精簡後的代碼,我們就可以知道使用這個插件了。
第一步:把核心文件jquery-1.8.2.min.js、jquery.contextMenu.js、jquery.contextMenu.css拷貝至我們的項目中。
第二步:編寫生成菜單以及相應菜單動作的javascript腳本。
$(function(){ $.contextMenu({ selector: '.context-menu-one', callback: function(key, options) { var m = "clicked: " + key; window.console && console.log(m) || alert(m); }, items: { "edit": {name: "Edit", icon: "edit"}, "cut": {name: "Cut", icon: "cut"}, "copy": {name: "Copy", icon: "copy"}, "paste": {name: "Paste", icon: "paste"}, "delete": {name: "Delete", icon: "delete"}, "sep1": "---------", "quit": {name: "Quit", icon: "quit"} } }); $('.context-menu-one').on('click', function(e){ console.log('clicked', this); }) });
第三步:在合適的位置設置右鍵菜單。
<div class="context-menu-one"> <strong>right click me</strong> </div>
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。