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 相关文章推荐
jQuery实现页面顶部显示的进度条效果完整实例
Dec 09 Javascript
基于原生JS实现图片裁剪
Aug 01 Javascript
javascript表达式和运算符详解
Feb 07 Javascript
详解vue事件对象、冒泡、阻止默认行为
Mar 20 Javascript
微信小程序自动客服功能
Nov 02 Javascript
JS写XSS cookie stealer来窃取密码的步骤详解
Nov 20 Javascript
javaScript日期工具类DateUtils详解
Dec 08 Javascript
vue-cli3.0使用及部分配置详解
Aug 29 Javascript
mock.js实现模拟生成假数据功能示例
Jan 15 Javascript
js屏蔽退格键(backspace或者叫后退键与F5)
Feb 10 Javascript
iview tabs 顶部导航栏和模块切换栏的示例代码
Mar 04 Javascript
vue3中的组件间通信
Mar 31 Vue.js
纯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
德生PL330的评价与改造
2021/03/02 无线电
php画图实例
2014/11/05 PHP
php下pdo的mysql事务处理用法实例
2014/12/27 PHP
PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】
2017/07/21 PHP
thinkPHP框架实现的简单计算器示例
2018/12/07 PHP
一次因composer错误使用引发的问题与解决
2019/03/06 PHP
Laravel框架实现定时Task Scheduling例子
2019/10/22 PHP
PHP 图片处理
2020/09/16 PHP
PHP中echo与print区别点整理
2021/03/09 PHP
Javascript实现的鼠标经过时播放声音
2010/05/18 Javascript
一个原生的用户等级的进度条
2010/07/03 Javascript
addEventListener 的用法示例介绍
2014/05/07 Javascript
IE中图片的onload事件无效问题和解决方法
2014/06/06 Javascript
jQuery 中$(this).index与$.each的使用指南
2014/11/20 Javascript
AngularJs页面筛选标签小功能
2016/08/01 Javascript
a标签跳转到指定div,jquery添加和移除class属性的实现方法
2016/10/10 Javascript
node.js实现回调的方法示例
2017/03/01 Javascript
jQuery实现web页面樱花坠落的特效
2017/06/01 jQuery
bootstrap-table实现服务器分页的示例 (spring 后台)
2017/09/01 Javascript
浅谈Vue响应式(数组变异方法)
2018/05/07 Javascript
深入了解javascript 数组的sort方法
2018/06/01 Javascript
解决vue动态为数据添加新属性遇到的问题
2018/09/18 Javascript
angularJs使用ng-repeat遍历后选中某一个的方法
2018/09/30 Javascript
微信小程序实现发送模板消息功能示例【通过openid推送消息给用户】
2019/05/05 Javascript
JavaScript的查询机制LHS和RHS解析
2019/08/16 Javascript
JS实现悬浮球只在一侧滑动并且是横屏状态下
2020/08/19 Javascript
vue实现放大镜效果
2020/09/17 Javascript
如何使用python爬取csdn博客访问量
2016/02/14 Python
Appium+python自动化之连接模拟器并启动淘宝APP(超详解)
2019/06/17 Python
python验证码图片处理(二值化)
2019/11/01 Python
苏宁红孩子母婴商城:redbaby
2017/02/12 全球购物
年终晚会主持词
2014/03/25 职场文书
公司安全管理制度范本
2015/08/05 职场文书
公司周年庆寄语
2019/06/21 职场文书
opencv 分类白天与夜景视频的方法
2021/06/05 Python
muduo TcpServer模块源码分析
2022/04/26 Redis