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 相关文章推荐
js获取浏览器的可视区域尺寸的实现代码
Nov 30 Javascript
jquery $.getJSON()跨域请求
Dec 21 Javascript
node.js学习总结之调式代码的方法
Jun 25 Javascript
JavaScript中的公有、私有、特权和静态成员用法分析
Nov 20 Javascript
JavaScript学习笔记之ES6数组方法
Mar 25 Javascript
利用JS实现页面删除并重新排序功能
Dec 09 Javascript
angular.js 路由及页面传参示例
Feb 24 Javascript
js使用formData实现批量上传
Mar 27 Javascript
微信小程序实现点击空白隐藏的方法示例
Aug 13 Javascript
JavaScript单线程和任务队列原理解析
Feb 04 Javascript
Vue项目打包编译优化方案
Sep 16 Javascript
一道JS算法面试题——冒泡、选择排序
Apr 21 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
实现dedecms全站URL静态化改造的代码
2007/03/29 PHP
PHP循环结构实例讲解
2014/02/10 PHP
php实现计数器方法小结
2015/01/05 PHP
PHP获取毫秒级时间戳的方法
2015/04/15 PHP
Linux下编译redis和phpredis的方法
2016/04/07 PHP
php使用json_decode后数字对象转换成了科学计数法的解决方法
2017/02/20 PHP
Yii2 中实现单点登录的方法
2018/03/09 PHP
Jquery中显示隐藏的实现代码分析
2011/07/26 Javascript
artDialog 4.1.5 Dreamweaver代码提示/补全插件 附下载
2012/07/31 Javascript
两个数组去重的JS代码
2013/12/04 Javascript
jQuery切换所有复选框选中状态的方法
2015/07/02 Javascript
DeviceOne 让你一见钟情的App快速开发平台
2016/02/17 Javascript
jQuery使用模式窗口实现在主页面和子页面中互相传值的方法
2016/03/01 Javascript
如何通过js实现图片预览功能【附实例代码】
2016/03/30 Javascript
用原生js统计文本行数的简单示例
2016/08/19 Javascript
node.js利用redis数据库缓存数据的方法
2017/03/01 Javascript
基于Vue2实现的仿手机QQ单页面应用功能(接入聊天机器人 )
2017/03/30 Javascript
基于axios封装fetch方法及调用实例
2018/02/05 Javascript
node实现登录图片验证码的示例代码
2018/04/20 Javascript
webpack4 处理CSS的方法示例
2018/09/03 Javascript
Vue常见面试题整理【值得收藏】
2018/09/20 Javascript
jQuery实现的老虎机跑动效果示例
2018/12/29 jQuery
vue-cli3 项目优化之通过 node 自动生成组件模板 generate View、Component
2019/04/30 Javascript
[00:27]DOTA2战队VP、Secret贺新春
2018/02/11 DOTA
使用Python脚本和ADB命令实现卸载App
2017/02/10 Python
python用requests实现http请求代码实例
2019/10/31 Python
Django实现WebSSH操作物理机或虚拟机的方法
2019/11/06 Python
使用canvas绘制超炫时钟
2014/12/17 HTML / CSS
有关HTML5页面在iPhoneX适配问题
2017/11/13 HTML / CSS
澳大利亚先进的皮肤和激光诊所购物网站:Soho Skincare
2018/10/15 全球购物
印度领先的眼镜电子商务网站:Lenskart
2019/12/16 全球购物
Fox Racing官方网站:越野摩托车和山地自行车装备和服装
2019/12/23 全球购物
几道数据库的概念性面试题
2014/05/30 面试题
幼儿园大班毕业教师寄语
2014/04/03 职场文书
班级学雷锋活动总结
2014/06/26 职场文书
怎样写好工作计划
2019/04/10 职场文书