jquery插件ContextMenu設(shè)置右鍵菜單
Struts項(xiàng)目中右鍵菜單一般很少用到,但是一旦客戶有要求,很多人就懵圈了,比如我。這個(gè)時(shí)候,當(dāng)然要表現(xiàn)鎮(zhèn)定,一面拍著胸口對(duì)客戶承諾說絕對(duì)可以實(shí)現(xiàn),一面趕緊打開百度神器,搜搜看是否有前人已經(jīng)寫好的插件。
于是便找到了jQuery的ContextMenu插件。上官網(wǎng)看看Demo,真不錯(cuò),正是我要的效果。源碼下下來,卻沒有說明文檔告訴我們?cè)撊绾谓M裝,可能寫這插件的牛人們覺得步驟太簡(jiǎn)單,寫出來都覺得丟人??煽嗔宋覀冞@等愚昧之徒,研究半天,總算從一堆代碼中取其精華棄其糟粕,形成最簡(jiǎn)練的代碼,以供初學(xué)者們參考。
官網(wǎng)下載地址:http://plugins.jquery.com/contextMenu/
我這邊下的是1.6.6版本。源碼目錄結(jié)構(gòu)如下:

里邊有個(gè)demo.html文件,這個(gè)就是我們要研究的對(duì)象。打開這個(gè)文件,可以試試效果,感覺不錯(cuò)吧。

但是用記事本或者其他編輯器查看源代碼,你會(huì)覺得頭暈。一堆的js文件和css文件,恐怖不是每個(gè)都是必須的,這就要我們自己調(diào)試了,插件作者是不會(huì)告訴我們的。

OK,由于時(shí)間關(guān)系,我已經(jīng)幫大家刪掉多余的代碼,精簡(jiǎn)后的代碼如下:
<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>
運(yùn)行效果:

根據(jù)這段精簡(jiǎn)后的代碼,我們就可以知道使用這個(gè)插件了。
第一步:把核心文件jquery-1.8.2.min.js、jquery.contextMenu.js、jquery.contextMenu.css拷貝至我們的項(xiàng)目中。
第二步:編寫生成菜單以及相應(yīng)菜單動(dòng)作的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);
})
});
第三步:在合適的位置設(shè)置右鍵菜單。
<div class="context-menu-one"> <strong>right click me</strong> </div>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
jQuery validata插件實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄猨Query validata插件實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06
jquery寫個(gè)checkbox——類似郵箱全選功能
最近在學(xué)習(xí)jquery,今天抽空用jquery寫個(gè)checkbox——類似郵箱全選功能,感興趣的你可以參考下哈,希望可以幫助到你2013-03-03
jQuery 判斷是否包含在數(shù)組中Array[]的方法
下面小編就為大家?guī)硪黄猨Query 判斷是否包含在數(shù)組中Array[]的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-08-08
基于jquery實(shí)現(xiàn)點(diǎn)擊左右按鈕圖片橫向滾動(dòng)
點(diǎn)擊左右按鈕圖片橫向滾動(dòng)jquery,一次滾動(dòng)四個(gè),圖片滾動(dòng)完成,自動(dòng)回到第一個(gè)版面,效果相當(dāng)不錯(cuò),感興趣的前端工程師們可以參考下2013-04-04

