教程中国
PHOTOSHOP CS9.0中文版 MAYA 8.5 FOR WINDOWS Corel Painter v9.0 Flash MX2004 中文版 Illustrator cs2 中文版
VC++6.0含sp6 中英文版 VB6.0 +sp6 简体中文版 Borland Delphi 7汉化版 MSDN for vb6.0中文版 Visual Studio 2005简体
教程中国下属 文件存储共享专家BIBIDU.COM 提供大型软件,教材,源码,电影,音乐,图书等下载 更多精品请点此进入
  您目前所在位置: 教程中国 >> 编程基地 >> Javascript >> javascript中实现浏览器上的右键菜单 RSS订阅
javascript中实现浏览器上的右键菜单
教程(视频,书籍)下载:  ASP.NET AutoCAD 数据库 C# ASP java photoshop 网页设计 delphi 3dmax Flash C++ VB 张孝祥 实例   更多请进入BIBIDU搜索
IT搜索引擎   
   如何实现浏览器上的右键菜单

 最近在程序员大本营中的讨论中有一位老兄提出如何在浏览器中实现类似于应用程序的鼠标右击后出现右键菜单的效果。唯鱼试了试,发现不是很难解决。现在就将源码和原理说出来和大家共享一下。哈,其实效果不是很完美啦,如果哪位大侠有更好的解决方法。可以给唯鱼yyu@enet.com.cn来信罗。 

  首先要解决的问题是在怎样的情况鼠标右击不会出现IE的菜单。思路可以有两个,一个是将焦点移开,还有一个就是点在网页的什么地方不会出现右键菜单,而且会响应鼠标点击消息。(哈哈,废话一大堆。思路吗?总要多想想才有的) 


想了想, 总结出的下面几种方法 


1、响应右键消息出一个ALERT框(还有点新鲜的东东没有)。 


2、响应右键消息后弹出一个新的窗口。将初始页的的焦点移开。 


可是经过试验后发现只有窗口出现在鼠标右击的位置时,才会没有浏览器的右键菜单出现。 


3、响应右键消息后弹出一个HTML的对话框。即使用showModalDialog来开启一个HTML对话框。使用这种方式可以让右键菜单不会出现。但是有一个问题是使用使用showModalDialog开启的对话框不会向使用Window.Open开启的对话框一样可以移出屏幕所在的范围。就是说始终可以看见有一个对话框出现在屏幕上。这条路也不能走了。 


4、呵呵,最后一招了,唯鱼偶尔发现在Select上进行鼠标右击或左击都不会有反应。那么如果每次鼠标都点在Select上,不就不会出现浏览器的右键菜单了。 



下面就是一个例子,感兴趣的可以把下面的拷贝成Test.html,就可以看看效果了。 


< HTML> 

< title>VFish Test< /title> 

< script> 

var x, y; 

document.onmousemove=moveMouse 

document.onmousedown=click 


function moveMouse() 



Layer1.style.left = event.clientX - 2; 

Layer1.style.top = event.clientY - 2; 



function click() 



if (event.button==2) 



x = event.clientX; 

y = event.clientY; 

Layer1.style.visibility=""; 

window.setTimeout("showMenu();", 500); 



else 



HiddenPop(); 

PopMenu.style.visibility=’hidden’; 






function showMenu() 



PopMenu.style.left = x- 2; 

PopMenu.style.top = y- 2; 

PopMenu.style.visibility=""; 

HiddenPop(); 



function HiddenPop() 



Layer1.style.visibility=’hidden’; 



< /script> 

< BODY> 


在窗口中右击一下看看出什么:) 

< div id=Layer1 style="position:absolute; width:4px; height:4px; z-index:3; visibility: hidden"> 

< select style="width:4">< /select> 

< /div> 

< div id=PopMenu style="position:absolute; width:100px; height:100px; z-index:1; visibility: hidden"> 

< table border=2 width=100 > 

< TH align="center" color="sliver" onclick=""> 

唯鱼的菜单 

< /tH> 

< tr> 

< td> 

click it!:) 

< /td> 

< /tr> 

< /table> 

< /div> 

< /BODY> 

< /HTML> 

来源:编程技术-十度教育
作者:
关键字:右键菜单
发表日期:2006-10-18 10:39:41

网页显示有限 阅读全文请下载本文完整版WORD文档

上一篇:JAVASCRIPT加密解密终级指南   下一篇:Javascript制作闪烁的边框


2008-10-8 6:07:35
本文的相类似文章
  • 屏蔽文本框的右键菜单
  • 如何在IE右键菜单中添加菜单项以及如何添加IE任务栏按钮 1
  • 如何在IE右键菜单中添加菜单项以及如何添加IE任务栏按钮 2
  • 只两招立刻给右键菜单“减负”
  • 操作系统常见问题在开始上按鼠标右键菜单变灰色
  • FLASH MX 2004右键菜单秀
  • FLASH右键菜单的应用
  • FLASH右键菜单的应用
  • FLASH MX 2004右键菜单秀
  • 打造超酷网页右键菜单二法
  • 在学习中进步 在进步中成长 教程中国相随您的成长之路
    华腾联合科技股份有限公司版权所有
    广告联系:Rosibo@163.com