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>
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。