jquery 简短右键菜单 多浏览器兼容
2010-01-01 00:00
731 查看
$(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(); } }); } });
在线演示 右键点击测试效果
打包下载
相关文章推荐
- jquery 简短右键菜单 例子(多浏览器兼容)
- jquery 简短 右键菜单 兼容ie6 ie7 ie8 firefox chrome
- jquery 简短 右键菜单 兼容ie6 ie7 ie8 firefox chrome
- javascript 实现各浏览器兼容的右键菜单
- 网页防复制,禁止文字选中,禁止右键菜单js代码,兼容大部分浏览器方法
- jquery禁用右键菜单及事件兼容处理函数说明
- 一个jquery实现右键菜单,兼容FF
- 屏蔽浏览器右键菜单功能,自定义右键菜单(兼容IE8)
- Jquery鼠标右键点击弹出菜单
- jquery实现兼容浏览器的图片上传本地预览功能
- JQuery之ContextMenu(右键菜单)
- jquery自定义右键菜单、全选、不连续选择
- jquery下最好的右键菜单
- javascript右键菜单(所有浏览器)
- jQuery控制文本框只能输入数字[兼容IE、火狐等浏览器]
- js与jQuery实现的兼容多浏览器Ajax请求实例
- 为jQuery.Treeview添加右键菜单的实现代码
- JQuery---右键菜单版本二
- jquery右键菜单