jquery 简短右键菜单 多浏览器兼容


Posted in Javascript onJanuary 01, 2010
$(function(){ 
document.oncontextmenu=function(){return false;}//屏蔽右键 
document.onmousemove=mouseMove;//记录鼠标位置 
}); 
var mx=0,my=0; 
function mouseMove(ev){Ev=ev||window.event;var mousePos=mouseCoords(Ev);mx=mousePos.x;my=mousePos.y;} 
function mouseCoords(ev){ 
if(ev.pageX||ev.pageY){return{x:ev.pageX,y:ev.pageY};} 
return{x:ev.clientX,y:ev.clientY+$(document).scrollTop()}; 
} $.fn.extend({RightMenu: function(id,options){options = $.extend({menuList:[]},options);var menuCount=options.menuList.length; 
if (!$("#"+id)[0]){ 
var divMenuList="<div id=\""+id+"\" class=\"div_RightMenu\"><div><ul class='ico'>"; 
for(var i=0;i<menuCount;i++){ 
divMenuList+="<li class=\"RMli_"+options.menuList[i].menuclass+"\" onclick=\""+options.menuList[i].clickEvent+"\">"+options.menuList[i].menuName+"</li>"; 
} 
divMenuList += "</ul></div><div>"; 
$("body").append(divMenuList).find("#"+id).hide().find("li") 
.bind("mouseover",function(){$(this).addClass("RM_mouseover");}) 
.bind("mouseout",function(){$(this).removeClass("RM_mouseover");}); 
$(document).click(function(){$("#"+id).hide();}); 
} 
return this.each(function(){ 
this.oncontextmenu=function(){ 




/*这段 判断鼠标移到页面的最右侧或者最下侧 防止出现滚动条 {*/ 
var mw=$('body').width(),mhh=$('html').height(),mbh=$('body').height(), 
w=$('#'+id).width(),h=$('#'+id).height(), 
mh=(mhh>mbh)?mhh:mbh;//最大高度 比较html与body的高度 
if(mh<h+my){my=mh-h;}//超 高 
if(mw<w+mx){mx=mw-w;}//超 宽 



/*} 当然也可以直接跳过*/ 
$("#"+id).hide().css({top:my,left:mx}).show(); 
} 
}); 
} 
});

在线演示 右键点击测试效果

打包下载

Javascript 相关文章推荐
JavaScript Archive Network 集合
May 12 Javascript
最短的IE判断代码
Mar 13 Javascript
onclick和onblur冲突问题的快速解决方法
Apr 28 Javascript
学习Angular中作用域需要注意的坑
Aug 17 Javascript
jquery删除table当前行的实例代码
Oct 07 Javascript
canvas学习之API整理笔记(二)
Dec 29 Javascript
使用jQuery监听扫码枪输入并禁止手动输入的实现方法(推荐)
Mar 21 jQuery
微信小程序实现slideUp、slideDown滑动效果及点击空白隐藏功能示例
Dec 11 Javascript
Nuxt项目支持eslint+pritter+typescript的实现
May 20 Javascript
Layui数据表格 前后端json数据接收的方法
Sep 19 Javascript
javscript 数组扁平化的实现
Feb 03 Javascript
Angular进行简单单元测试的实现方法实例
Aug 16 Javascript
使用JQUERY Tabs插件宿主IFRAMES
Jan 01 #Javascript
用jquery实现学校的校历(asp.net+jquery ui 1.72)
Jan 01 #Javascript
url 特殊字符 传递参数解决方法
Jan 01 #Javascript
JavaScript 数组循环引起的思考
Jan 01 #Javascript
javascript eval和JSON之间的联系
Dec 31 #Javascript
js下用gb2312编码解码实现方法
Dec 31 #Javascript
JavaScript 学习笔记(七)字符串的连接
Dec 31 #Javascript
You might like
php实现按指定大小等比缩放生成上传图片缩略图的方法
2014/12/15 PHP
简单谈谈php浮点数精确运算
2016/03/10 PHP
PHP操作MongoDB实现增删改查功能【附php7操作MongoDB方法】
2018/04/24 PHP
用js 让图片在 div或dl里 居中,底部对齐
2008/01/21 Javascript
jquery下利用jsonp跨域访问实现方法
2010/07/29 Javascript
自制轻量级仿jQuery.boxy对话框插件代码
2010/10/26 Javascript
js获取select标签选中值的两种方式
2014/01/09 Javascript
jQuery中attr()和prop()在修改checked属性时的区别
2014/07/18 Javascript
JavaScript匿名函数与委托使用示例
2014/07/22 Javascript
JS小游戏之极速快跑源码详解
2014/09/25 Javascript
javascript表格的渲染组件
2015/07/03 Javascript
浅析javascript异步执行函数导致的变量变化问题解决思路
2016/05/13 Javascript
JS分页的实现(同步与异步)
2017/09/16 Javascript
微信小程序实现留言板功能
2018/11/02 Javascript
微信小程序后端(java)开发流程的详细步骤
2019/11/13 Javascript
Vue中keep-alive组件的深入理解
2020/08/23 Javascript
[00:34]DOTA2上海特级锦标赛 VG战队宣传片
2016/03/04 DOTA
python爬虫之百度API调用方法
2017/06/11 Python
python实现感知器
2017/12/19 Python
对python中使用requests模块参数编码的不同处理方法
2018/05/18 Python
python实时监控cpu小工具
2018/06/21 Python
解决tensorflow1.x版本加载saver.restore目录报错的问题
2018/07/26 Python
python创建属于自己的单词词库 便于背单词
2019/07/30 Python
详解Python3 pickle模块用法
2019/09/16 Python
找Python安装目录,设置环境路径以及在命令行运行python脚本实例
2020/03/09 Python
python3.6使用SMTP协议发送邮件
2020/05/20 Python
Django中的模型类设计及展示示例详解
2020/05/29 Python
从零开始的TensorFlow+VScode开发环境搭建的步骤(图文)
2020/08/31 Python
python math模块的基本使用教程
2021/01/16 Python
python压包的概念及实例详解
2021/02/17 Python
html5文本内容_动力节点Java学院整理
2017/07/11 HTML / CSS
消防安全检查制度
2014/02/04 职场文书
转预备党员政审材料
2014/02/06 职场文书
应届毕业生求职信范文
2015/03/19 职场文书
2015公司年度工作总结
2015/05/14 职场文书
JavaScript实现登录窗体
2021/06/22 Javascript