当前位置: 首页 > 图文教程 > 网络编程 > Javascript > jquery 简短右键菜单 多浏览器兼容

Javascript
清华大学出版的事半功倍系列 javascript全部源代码
一个不错的渐隐文字效果
JavaScript多线程的实现方法
广告代码静态化js通用函数
“增强js程序代码的健壮性”之我见大量示例代码
国外JavaScript经典封装集合整理
Highslide JS
一个漂亮的下拉列表,去掉了灰色倒三角按钮
Add a Picture to a Microsoft Word Document
Javascript注入技巧
用JS实现HTML标签替换效果
发布BlueShow v1.0 图片浏览器(类似lightbox)blueshow.js 打包下载
模拟弹出菜单的代码
收藏Javascript中常用的55个经典技巧
Track Image Loading效果代码分析
js小技巧--自动隐藏红叉叉
JavaScript延时效果比较不错的
非常酷的js图形渐隐导航菜单栏
科讯商业版中用到的ajax空间与分页函数
js实现的修改div里img标签的src属性

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 296 ::
收藏到网摘: n/a

jquery 简短 右键菜单 兼容ie6 ie7 ie8 firefox chrome

复制代码 代码如下:

$(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();
}
});
}
});

在线演示 右键点击测试效果
打包下载