通行证: 用户 密码 域名空间  下载中心 社区论坛 信息公告 my小屋
联系我们
设为首页
加入收藏

 

qq,asp,php,jsp,xml,sql,.net,编程 程序 网页图象 建站经验 私服
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿
论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图
专题 | 应用软件 | 聊天通讯 | q q 专栏 | 建站经验 | 在线工具 | 站长club | 注 册 表 | 旧版
社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 网络赚钱 | 网站地图 | 广告服务 | 服务
当前位置:首页>>网页设计>>网页特效>>正文 新版上线![旧版]
注:打开慢时请稍等
javascript中如何实现浏览器上的右键菜单

http://www.iyit.net  日期:2006-5-5 10:01:38  来源:中国站长学院  点击:
参加讨论如何实现浏览器上的右键菜单

 最近在程序员大本营中的讨论中有一位老兄提出如何在浏览器中实现类似于应用程序的鼠标右击后出现右键菜单的效果。唯鱼试了试,发现不是很难解决。现在就将源码和原理说出来和大家共享一下。哈,其实效果不是很完美啦,如果哪位大侠有更好的解决方法。可以给唯鱼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
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

 相关文章
javascript实例教程(3-2) javascript实例教程(3-1) javascript实例教程(2) 创建弹出式窗
javascript实例教程(1) 目录  javascript: 改变和控制显示的图片大小 计算鼠标所在位置的x,y坐标的javascrip
javascript实用的一些技巧  javascript实例教程(20-4) javascript实例教程(20-3)
javascript实例教程(20-2) javascript实例教程(20-1) javascript实例教程(19-2)
javascript实例教程(19-1) javascript实例教程(18-4) javascript实例教程(18-3)
javascript实例教程(18-2) javascript实例教程(18-1) javascript实例教程(17-2)
javascript实例教程(17-1) javascript实例教程(16) javascript实例教程(15)
javascript实例教程(14) javascript实例教程(13) javascript实例教程(12)
最新更新 热点排行 推荐新闻
javascript实例教程(3-2)
javascript实例教程(3-1)
javascript实例教程(2) 创建弹出式窗
javascript实例教程(1) 目录
荧光文字
在frontpage 2000中插入flash动画
用frontpage 2000使图像“减肥”
提高frontpage 2002使用效率
用frontpage 2000创建网页动画
用frontpage 2000巧做样式表
用frontpage 2000制作鼠标光照特效
用frontpage轻松转换图片格式
frontpage10全透视教程(9)
frontpage10全透视教程(8)
frontpage10全透视教程(7)
javascript实例教程(3-2)
javascript实例教程(3-1)
javascript实例教程(2) 创建弹出式窗
javascript实例教程(1) 目录
荧光文字
qq珊瑚虫外挂4.0版本发布!
多个广告位招商!
摄影后期系列一:1分钟为数码相片去红眼
qq挂机说明
asp进度条
photoshop通道抠图:给秀发飞扬的mm照
教您显示器亮度对比度的调节
新版上线,今日正式开通!!!
更多精彩图文广告等着您!
asp中使用sql语句教程
第二十章 开发delphi对象式数据管理功
sql简明教程(1)
vbscript和javascript互相调用 
jsp教程(四)-jsp actions的使用
操作系统被入侵后的修复过程
五一别忘电脑防毒 养成良好上网习惯
google对ie浏览器将捆绑搜索功能表担忧
新版上线,今日正式开通!!!
用photoshop创意图形“岁月”
摄影后期系列一:1分钟为数码相片去红眼

 友情链接
设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
copyrights © 2004-2006 iyit.net all rights reserved.
网站合作、广告联系qq:147007642、466949678
易特网络技术 点击这里给我发消息