jquery实现右键菜单插件


Posted in Javascript onMarch 29, 2015

今天开发一个项目的时候需要一个模拟鼠标右键菜单的功能。也就是在网页点击鼠标右键的时候不是弹出系统的菜单而是我们制定的内容。这样可以拓展右键的功能。实现过程不多说了,写出来的代码和效果如下:

js部分:

//创建右键菜单

var epMenu={

    create:function(point,option){

        var menuNode=document.getElementById('epMenu');

        if(!menuNode){

            //没有菜单节点的时候创建一个

            menuNode=document.createElement("div");

            menuNode.setAttribute('class','epMenu');

            menuNode.setAttribute('id','epMenu');

        }else $(menuNode).html('');//清空里面的内容

        

        $(menuNode).css({left:point.left+'px',top:point.top+'px'});

        for(var x in option){

            var tempNode=document.createElement("a");

            $(tempNode).text(option[x]['name']).on('click',option[x].action);

            menuNode.appendChild(tempNode);

        }

        

        $("body").append(menuNode);

    },

    destory:function(){

        $(".epMenu").remove();

    }    

};

css部分代码如下:

/*右键菜单*/

.epMenu{ width:120px; background:#f0f0f0; position:fixed; left:0; top:0; box-shadow:2px 2px 2px 2px #807878;}

.epMenu a{ display:block; height:25px; line-height:25px; padding-left:15px; border-top:1px solid #e0e0e0; border-bottom:1px solid #fff; font-family:微软雅黑; font-size:14px; cursor:default;}

.epMenu a:hover{ background:#fff;}

创建调用代码如下:

epMenu.create({left:500,top:500},[{name:'a1','action':addText},{name:'b222','action':addBtn},{name:'添加图片组件','action':addImage}]);

销毁调用代码如下:

epMenu.destory();

效果如下:

jquery实现右键菜单插件

调用说明:

创建:epMenu.create(point,option);

point   整数型,表示菜单的位置,相对浏览器左上角。

          示例:{left:100, top:500}

option json数组型,表示菜单项,name表示名称,action表示点击激发的动作。

          示例:[{name:'a1','action':addText},{name:'b222','action':addBtn},{name:'添加图片组件','action':addImage}]

销毁:epMenu.destory();

销毁不需要参数。

这玩意其实很简单!还可以扩展一下,比如添加图片,二级菜单等等。由于这次项目开发需求比较简单,就这么的吧。

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
面向对象的编程思想在javascript中的运用上部
Nov 20 Javascript
在UpdatePanel内jquery easyui效果失效的解决方法
Apr 11 Javascript
两个多选select(multiple左右)添加、删除选项和取值实例
May 12 Javascript
jquery ajax 如何向jsp提交表单数据
Aug 23 Javascript
javascript实现自动填写表单实例简析
Dec 02 Javascript
BootStrap网页中代码显示用法详解
Oct 21 Javascript
jQuery日程管理插件fullcalendar使用详解
Jan 07 Javascript
js实现图片旋转 js滚动鼠标中间对图片放大缩小
Jul 05 Javascript
详解vue 实例方法和数据
Oct 23 Javascript
微信小程序自定义可滑动顶部TabBar选项卡实现页面切换功能示例
May 14 Javascript
JS中使用react-tooltip插件实现鼠标悬浮显示框
May 15 Javascript
浅析JS中NEW的实现原理及重写
Feb 20 Javascript
纯JavaScript实现的兼容各浏览器的添加和移除事件封装
Mar 28 #Javascript
jquery表单验证插件(jquery.validate.js)的3种使用方式
Mar 28 #Javascript
JQuery调用绑定click事件的3种写法
Mar 28 #Javascript
对Web开发中前端框架与前端类库的一些思考
Mar 27 #Javascript
Javascript优化技巧之短路表达式详细介绍
Mar 27 #Javascript
学习JavaScript编程语言的8张思维导图分享
Mar 27 #Javascript
JavaScript中的函数声明和函数表达式区别浅析
Mar 27 #Javascript
You might like
星际中的相关伤害
2020/03/04 星际争霸
用php获取远程图片并把它保存到本地的代码
2008/04/07 PHP
php简单提示框alert封装函数
2010/08/08 PHP
编写PHP脚本来实现WordPress中评论分页的功能
2015/12/10 PHP
php-beanstalkd消息队列类实例分享
2017/07/19 PHP
php curl优化下载微信头像的方法总结
2018/09/07 PHP
js实现的map方法示例代码
2014/01/13 Javascript
jquery中get,post和ajax方法的使用小结
2014/02/04 Javascript
实例代码详解javascript实现窗口抖动及qq窗口抖动
2016/01/04 Javascript
详解Javascript百度地图接口开发文档中的类和方法
2017/02/07 Javascript
微信JS SDK接入的几点注意事项(必看篇)
2017/06/23 Javascript
微信小程序实现星级评分和展示
2018/07/05 Javascript
js常用正则表达式集锦
2019/05/17 Javascript
python中精确输出JSON浮点数的方法
2014/04/18 Python
在Python中使用matplotlib模块绘制数据图的示例
2015/05/04 Python
Python中常见的数据类型小结
2015/08/29 Python
Python下载指定页面上图片的方法
2016/05/12 Python
python+opencv实现动态物体识别
2018/01/09 Python
Python使用win32 COM实现Excel的写入与保存功能示例
2018/05/03 Python
终端命令查看TensorFlow版本号及路径的方法
2018/06/13 Python
对python操作kafka写入json数据的简单demo分享
2018/12/27 Python
Python实现实时数据采集新型冠状病毒数据实例
2020/02/04 Python
python小程序之4名牌手洗牌发牌问题解析
2020/05/15 Python
keras实现多GPU或指定GPU的使用介绍
2020/06/17 Python
pandas 数据类型转换的实现
2020/12/29 Python
简历自我评价怎么写好呢?
2014/01/04 职场文书
校园奶茶店创业计划书
2014/01/23 职场文书
区优秀教师事迹材料
2014/02/10 职场文书
会计核算科岗位职责
2014/03/19 职场文书
人事行政专员岗位职责
2014/07/23 职场文书
党员批评与自我批评(5篇)
2014/09/23 职场文书
领导四风问题整改措施思想汇报
2014/10/13 职场文书
论群众路线学习心得体会
2014/10/31 职场文书
丧事主持词
2015/07/02 职场文书
公安忠诚教育心得体会
2016/01/23 职场文书
大学生奶茶店创业计划书
2019/06/25 职场文书