博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jquery原创实用插件之03 屏蔽默认右键菜单,自定义右键菜单
阅读量:5291 次
发布时间:2019-06-14

本文共 3713 字,大约阅读时间需要 12 分钟。

效果图如下

代码如下

<script type="text/javascript" src="js/jquery-1.7.2.min.js"></script> 

1 /* 2  * version : 1.0.1 3  * site    : ******************* 4  * author  : Jerry(http://www.cnblogs.com/webdesign-Jerry/) 5  * date    : 2013/01/18 6  * email   : jerry_webdesign@msn.cn 7  */ 8  9 ;(function($){    10     $.extend($,{11         showRightMenu:function(options){12             var options  = $.extend(true,{menuList:[]},options);    13             var $menuList=options.menuList;14             var menu={15                 init:function(){16                     this.length=$menuList.length;17                     $(document).bind('mousedown',this.mouseDownOnDocument);18                 },19                 mouseDownOnDocument:function(e){20                     e.stopPropagation();21                     var which=e.which;22                     var x=e.pageX+5;23                     var y=e.pageY+5;24                     var id=$(e.target).parents('ul').parent().attr('id');25                     if(which==3){26                         menu.showMenu(x,y);27                         document.οncοntextmenu=function(){28                             return false;    29                         };30                     }else if(which==1&&id!='rightMenu'){31                         menu.removeMenu();    32                     };33                 },34                 showMenu:function(a,b){35                     if($('#rightMenu').length<=0){36                         $('body').append('
    ');37 var str='';38 for(var i=0;i
    '+$menuList[i].menuName+'';40 };41 $('#rightMenu ul').append(str); 42 }43 var W=$(window).width();44 var H=$(window).height();45 var w=$('#rightMenu').outerWidth(true);46 var h=$('#rightMenu').outerHeight(true);47 a+w>=W?a-=w+5:a;48 b+h>=H?b-=h+5:b;49 $('#rightMenu').css({'left':a,'top':b});50 $('#rightMenu ul li a').click(function(){51 var index=$(this).parent().index();52 menu.callBack(index); 53 });54 },55 callBack:function(a){56 $menuList[a].callBack();57 menu.removeMenu(); 58 },59 removeMenu:function(){60 $('#rightMenu').remove();61 }62 };63 menu.init();64 } 65 });66 })(jQuery);
    1 /* rightMenu */2 #rightMenu{
    width:120px; background:#aaa;padding:0px 2px 2px 0px; position:absolute; z-index:9999;}3 #rightMenu ul{
    border:solid 1px #999; padding:0px 1px; background:#f7f7f7;margin:-2px 0px 0px -2px;}4 #rightMenu ul li{
    border-bottom:solid 1px #eee;border-top:solid 1px #fff; line-height:28px;}5 #rightMenu ul li a{
    display:block; padding:0px 10px;}6 #rightMenu ul li a:hover{
    background:#aaa; color:#fff; text-decoration:none;}

     调用如下

    1 ;(function($){ 2      3     //右键菜单 4     $.showRightMenu({ 5         menuList:[ 6             {menuName:'菜单栏目1',callBack:function(){ console.log(11);}}, 7             {menuName:'菜单栏目2',callBack:function(){ console.log(22);}}, 8             {menuName:'菜单栏目3',callBack:function(){ console.log(33);}}, 9             {menuName:'菜单栏目4',callBack:function(){ console.log(44);}},10             {menuName:'菜单栏目5',callBack:function(){ console.log(55);}}11         ]    12     });13 })(jQuery)

     

    转载于:https://www.cnblogs.com/webdesign-Jerry/archive/2013/01/18/2866776.html

    你可能感兴趣的文章
    Oracle数据库初学者入门教程
    查看>>
    PHP实现栈(Stack)数据结构
    查看>>
    python常见问题及解决
    查看>>
    [原创]Java 的传值小例子
    查看>>
    【MySQL学习】安装和配置 服务无法启动 没有报告任何错误
    查看>>
    C# 修饰符
    查看>>
    JavaScript启示录
    查看>>
    我需要什么样的浏览器?
    查看>>
    取textaera里的值
    查看>>
    java设计模式1--工厂方法模式(Factory Method)
    查看>>
    博客第一弹—聊聊HTML的那些事
    查看>>
    上海2017QCon个人分享总结
    查看>>
    HIVE快速入门 分类: B4_HIVE 2015-...
    查看>>
    Mysql安装方法及安装问题解决
    查看>>
    Java动态代理的两种实现方式:
    查看>>
    PHP trait
    查看>>
    Redis的常用命令(三)
    查看>>
    HDOJ 4749 Parade Show
    查看>>
    python 多线程并发threading & 任务队列Queue
    查看>>
    【黑马程序员】资深程序员的见解
    查看>>