| 域名空间 下载中心 社区论坛 信息公告 my小屋 |
![]() |
联系我们 设为首页 加入收藏 |
|
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿 论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图 专题 | 应用软件 | 聊天通讯 | q q 专栏 | 建站经验 | 在线工具 | 站长club | 注 册 表 | 旧版 社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 网络赚钱 | 网站地图 | 广告服务 | 服务 |
| 新版上线![旧版] | |||||
注:打开慢时请稍等
|
最近在程序员大本营中的讨论中有一位老兄提出如何在浏览器中实现类似于应用程序的鼠标右击后出现右键菜单的效果。唯鱼试了试,发现不是很难解决。现在就将源码和原理说出来和大家共享一下。哈,其实效果不是很完美啦,如果哪位大侠有更好的解决方法。可以给唯鱼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> 编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部] 上一篇:javascript进行客户端数据的校验(2) 下一篇:用javascript使链接按钮不断变化 转载请注明来源:www.iyit.net 特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。 |
| 最新更新 | 热点排行 | 推荐新闻 | |||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
| 友情链接 | ||||||
| 设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接 |
| |||||||