[xPlugins] jQuery Contextmenu右键菜单
[2012-04-12] Contextmenu 右键菜单 v0.1 版本发布
[功能] 在特定区域弹出右键菜单
[功能] 可以在弹出右键菜单区域内,再屏蔽某个小区域。
[功能] 有两种方式添加右键菜单项,参数配置添加和指定ID项。
[功能] 支持事件回调,有两种,一种以参数配置方式对应回调,指定ID项统一回调,可根据设置链接标签区别。
[2012-04-29]Contextmenu 右键菜单 v0.2版本更新
[修正] 修正了指定ID添加内容在不存在时的bug。
[新增] 新增了菜单失效后变成灰色,事件回调失效的功能。
[调整] 调整了部分css,源代码分为模型,和调试部分。
插件说明
Contextmenu 是一款基于 jQuery 的多功能对话框插件。
运行环境
兼容 IE6+、Firefox、Chrome、Opera 等主流浏览器。
使用授权
Contextmenu 永久免费使用,如果有好的建议,请 Email: atlatl333@126.com , Contextmenu 的完善需要大家的好建议。
由于配置整体项目开发要用到右键菜单,比如表格,web桌面等。介绍右键菜单设计有哪些功能,可以根据配置文件注释得知。
- var defaults={
- offsetX:2,//鼠标在X轴偏移量
- offsetY:2,//鼠标在Y轴偏移量
- speed:300,//特效速度
- flash:!1,//特效是否开启,默认不开启
- flashMode:'',//特效模式,与flash为真时使用
- cancel:!1,//排除不出现右键菜单区域
- items:[],//菜单项
- action:$.noop()//自由菜单项回到事件
- };
关于右键菜单的添加有两种方式: 一种是以items项添加并直接带有事件回调;
- <script type="text/javascript">
- $(function(){
- $('#WincontextMenu-Test').WinContextMenu({
- cancel:'.cancel',
- items:[{
- id:'Item1',
- text:'Item1项',
- icon:'../skins/default/contextmenu/icons/Sync.png',
- disable:!0,//新增加true/false
- action:function(){alert('first-item1')}//按照项添加
- },
- {
- id:'Item2',
- text:'Item2项',
- icon:'../skins/default/contextmenu/icons/Calendar.png',
- action:function(){alert('Second-item2')}//按照项添加
- }],
- action:function(e){alert(e.id);}//自由设计项事件回调
- });
- });
- </script>
第二种在web页面中按指定的ID为WincontextMenu添加li标记
- <div id="WincontextMenu" class="WincontextMenu" style="top:100px; left:230px; display:none;">
- <li><a id="copy" href="#"><img src="../skins/default/contextmenu/icons/Copy.png"><span>复制</span></a></li>
- <li><a id="create" href="#"><img src="../skins/default/contextmenu/icons/New.png"><span>新建</span></a></li>
- <div class="m-split"></div>
- <li><a id="save" href="#"><img src="../skins/default/contextmenu/icons/Save.png"><span>保存</span></a></li>
- <li><a id="table" href="#" class="cmDisable"><img src="../skins/default/contextmenu/icons/table.png"><span>表格</span></a></li>
- <li><a id="setup" href="#"><img src="../skins/default/contextmenu/icons/Pinion.png"><span>设置</span></a></li>
- </div>
以上两种添加方式是以items项添加在前,按指定ID追加的排在后。
百闻不如一见,还是直接奔源代码去……本页面有下载。
[文件] AdminInterface-Contextmenu(源码v0.2).rar ~ 268KB 下载(34)


- /*
- * Author:antianlu
- * Date:2012-04-21
- * Plugin name:jQuery.Contextmenu
- * Address:http://www.oschina.net/code/snippet_153403_9880
- * Version:0.2
- * Email:atlatl333@126.com
- */
- (function(cm){
- jQuery.fn.WinContextMenu=function(options){
- var defaults={
- offsetX:2,//鼠标在X轴偏移量
- offsetY:2,//鼠标在Y轴偏移量
- speed:300,//特效速度
- flash:!1,//特效是否开启,默认不开启
- flashMode:'',//特效模式,与flash为真时使用
- cancel:!1,//排除不出现右键菜单区域
- items:[],//菜单项
- action:$.noop()//自由菜单项回到事件
- };
- var opt=cm.extend(true,defaults,options);
- function create(e){
- var m=cm('<ul class="WincontextMenu"></ul>').appendTo(document.body);
- cm.each(opt.items,function(i,itm){
- if(itm){
- var row=cm('<li><a class="'+(itm.disable?'cmDisable':'')+'" ref="sitem" href="javascript:void(0)"><span></span></a></li>').appendTo(m);
- itm.icon?cm('<img src="'+itm.icon+'">').insertBefore(row.find('span')):'';
- itm.text?row.find('span').text(itm.text):'';
- if(itm.action) {
- row.find('a').click(function(){this.className!='cmDisable'?itm.action(e):null;});}
- }
- });
- if(cm('#WincontextMenu').html()!=null){
- cm(cm('#WincontextMenu').html().replace(/#/g,'javascript:void(0)')).appendTo(m);}
- return m;
- }
- if(opt.cancel){//排除不出现右键菜单区域
- cm(opt.cancel).live('contextmenu',function(e){return false});}
- this.live('contextmenu',function(e){
- var m=create(e).show();
- var l = e.pageX + opt.offsetX,
- t = e.pageY+opt.offsetY,
- p={
- wh:cm(window).height(),
- ww:cm(window).width(),
- mh:m.height(),
- mw:m.width()
- }
- t=(t+p.mh)>=p.wh?(t-=p.mh):t;//当菜单超出窗口边界时处理
- l=(l+p.mw)>=p.ww?(l-=p.mw):l;
- m.css({zIndex:1000001, left:l, top:t}).live('contextmenu', function() { return false; });
- m.find('a').click(function(e){//呼叫新从页面增加的菜单项
- var b=$(this).attr('ref');
- if(b!='sitem'){this.className!='cmDisable'?opt.action(this):null;}
- e.preventDefault();
- });
- cm(document.body).live('contextmenu click', function() {//防止有动态加载的标签失效问题
- m.remove();
- });
- return false;
- });
- return this;
- }
- })(jQuery);
原文地址:http://www.oschina.net/code/snippet_153403_9880
[xPlugins] jQuery Contextmenu右键菜单的更多相关文章
- 3种不同的ContextMenu右键菜单演示
简单使用的右键菜单,希望能帮助大家.下面是截图和实例代码 实例预览 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional/ ...
- vue2.0的contextmenu右键菜单
1.事情对象 <!DOCTYPE html> <html> <head> <title></title> <meta charset= ...
- WPF中ContextMenu(右键菜单)使用Command在部分控件上默认为灰色的处理方法
原文:WPF中ContextMenu(右键菜单)使用Command在部分控件上默认为灰色的处理方法 问题描述 今天发现如果我想在一个TextBlock弄一个右键菜单,并且使用Command绑定,结果发 ...
- JQuery之ContextMenu(右键菜单)
插件下载地址:http://www.trendskitchens.co.nz/jquery/contextmenu/jquery.contextmenu.r2.js压缩版:http://www.tre ...
- jquery实现右键菜单
<!DOCTYPE html> <head> <meta http-equiv="Content-Type" content="text/h ...
- jQuery EasyUI 右键菜单--关闭标签/选项卡
目录结构: noContextMenu.js 文件内容如下: $(function(){ //屏蔽右键菜单 $(document).bind("contextmenu", func ...
- 用jQuery修改右键菜单
概述 以前在网上找过屏蔽右键菜单的代码,也找过屏蔽F12的代码,今天无意之中看到别人的右键菜单很有意思,我也想来搞一个. 思路 建立一个菜单并且隐藏起来. 用window.oncontextmenu屏 ...
- jquery 自定义右键菜单
如果要自定义右键菜单,那么就需要禁止原本的右键菜单,代码如下 document.oncontextmenu = new Function("return false;");//禁止 ...
- 实现JQuery EasyUI右键菜单变灰不可用效果
使用过EasyUI的朋友想必都知道疯狂秀才写的后台界面吧,作为一个初学者我不敢妄自评论它的好坏,不过它确实给我们提供了一个很好框架,只要在它的基础上进行修改,基本上都可以满足我们开发的需要. 知道“疯 ...
随机推荐
- 《深入理解Android虚拟机内存管理》示例程序编译阶段生成的各种语法树完整版
1.tokens "int" "int" <SPACES> " &quo ...
- sql server 游标fetch简单用法
//遍历tmp_check的年份和月份 DECLARE @year ) DECLARE @month ) DECLARE cur CURSOR FOR SELECT nf,yf FROM tmp_ch ...
- python3设置打开文件的编码
f = open(file_path,'r',encoding='utf8') 用起来很方便,不需要先读取再转码了.
- html 复杂表格
123456789 123456789 0000000000 日期 123456789 1234560000000789 ----------- ----------- ----------- --- ...
- MySQL在Linux下的表名如何不区分大小写
MySQL在Linux下的表名如何不区分大小写 今天测试的时候,遇到一些问题,明明看到数据,就是查不出来;后来发现,在linux下, mysql的表名区分大小写,而在windows下是不区分,从w ...
- springboot 大致启动流程
SpringApplication的run方法的实现是我们本次旅程的主要线路,该方法的主要流程大体可以归纳如下: 1) 如果我们使用的是SpringApplication的静态run方法,那么,这个方 ...
- 【第二课】kaggle案例分析二
Evernote Export 推荐系统比赛(常见比赛) 推荐系统分类 最能变现的机器学习应用 基于应用领域分类:电子商务推荐,社交好友推荐,搜索引擎推荐,信息内容推荐等 **基于设计思想:**基于协 ...
- 通过分析反汇编还原 C 语言 if…else 结构
让我们从反汇编的角度去分析并还原 C 语言的 if - else 结构,首先我们不看源代码,我们用 OllyDBG 载入 PE 文件,定位到 main 函数领空,如下图所示. 在图示中,我已经做好了关 ...
- 在oracle中将某个字段的数据作为列名的查询
原表结构 查询语句: select sno,sname,sum(语文) 语文,sum(数学) 数学,sum(英语) 英语 from (select sno,sname,decode(subjiect, ...
- Call to undefined function openssl_decrypt()
laravel报错: Call to undefined function openssl_decrypt() 需要打开php.ini中的扩展: extension=php_openssl.dll