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的eval()中使用函数的进一步讨论
Jul 26 Javascript
jquery中表单 多选框的一种巧妙写法
Sep 06 Javascript
更靠谱的H5横竖屏检测方法(js代码)
Sep 13 Javascript
基于JS实现的随机数字抽签实例
Dec 08 Javascript
微信小程序 基础组件与导航组件详细介绍
Feb 21 Javascript
浅谈js使用in和hasOwnProperty获取对象属性的区别
Apr 27 Javascript
Vue 换肤的示例实践
Jan 23 Javascript
vue中引用swiper轮播插件的教程详解
Aug 16 Javascript
es6数据变更同步到视图层的方法
Mar 04 Javascript
详解JavaScript实现动态的轮播图效果
Apr 29 Javascript
JavaScript实现滑动门效果
Jan 18 Javascript
antd design table更改某行数据的样式操作
Oct 31 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
PHP strtok()函数的优点分析
2010/03/02 PHP
javascript中的注释使用与注意事项小结
2011/09/20 Javascript
JS代码放在head和body中的区别分析
2011/12/01 Javascript
javascript判断ie浏览器6/7版本加载不同样式表的实现代码
2011/12/26 Javascript
javascrpt绑定事件之匿名函数无法解除绑定问题
2012/12/06 Javascript
IE不支持getElementsByClassName最终完美解决方案
2012/12/17 Javascript
提示$ is not defined错误分析及解决
2013/04/09 Javascript
如何让DIV可编辑、可拖动示例代码
2013/09/18 Javascript
javascript中打印当前的时间实现思路及代码
2013/12/18 Javascript
jQuery 动态云标签插件
2014/11/11 Javascript
JavaScript实现级联菜单的方法
2015/06/29 Javascript
简单谈谈ES6的六个小特性
2016/11/18 Javascript
详解Vue自定义过滤器的实现
2017/01/10 Javascript
微信小程序实现实时圆形进度条的方法示例
2017/02/24 Javascript
react-native使用react-navigation进行页面跳转导航的示例
2017/09/07 Javascript
JavaScript实现QQ列表展开收缩扩展功能
2017/10/30 Javascript
详解Vue 事件修饰符capture 的使用
2017/12/29 Javascript
基于js 各种排序方法和sort方法的区别(详解)
2018/01/03 Javascript
jQuery实现表单动态加减、ajax表单提交功能
2018/06/08 jQuery
JS数组求和的常用方法总结【5种方法】
2019/01/14 Javascript
深入理解令牌认证机制(token)
2019/08/22 Javascript
vue动态绘制四分之三圆环图效果
2019/09/03 Javascript
微信小程序实现录制、试听、上传音频功能(带波形图)
2020/02/27 Javascript
Python的Django框架中settings文件的部署建议
2015/05/30 Python
修改python plot折线图的坐标轴刻度方法
2018/12/13 Python
详解用python实现基本的学生管理系统(文件存储版)(python3)
2019/04/25 Python
Python tkinter三种布局实例详解
2020/01/06 Python
python3+opencv生成不规则黑白mask实例
2020/02/19 Python
Python异常原理及异常捕捉实现过程解析
2020/03/25 Python
利用CSS3实现单选框动画特效示例代码
2016/09/26 HTML / CSS
css3实现文字扫光渐变动画效果的示例
2017/11/07 HTML / CSS
Canvas绘制浮动球效果的示例
2017/12/29 HTML / CSS
XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?
2016/01/12 面试题
高效笔记技巧分享:学会这些让你不再困扰
2019/09/04 职场文书
PyTorch device与cuda.device用法
2022/04/03 Python
HTML5之高度塌陷问题的解决
2022/06/01 HTML / CSS