如何屏蔽鼠标右键?

Tyro 2000-07-01 05:15:00
1、在浏览器中点击右键无反应!
2、在浏览器中点击右键出现自己的菜单,而不是浏览器本身的菜单!
...全文
1850 43 打赏 收藏 转发到动态 举报
写回复
用AI写文章
43 条回复
切换为时间正序
请发表友善的回复…
发表回复
superkt 2001-10-24
  • 打赏
  • 举报
回复
右击不弹出菜单,只要把window.alert();换成i=1;让它执行一个无意义的操作。
弹出菜单就用层。
371 2001-10-24
  • 打赏
  • 举报
回复
以前见过类似的页面。地址忘了,当时还研究了一番。主要思想是利用了点击到选择框上不会出右键菜单,然后做一个隐藏的帧紧跟鼠标,在帧上做一个选择框(无内容的。)
呵呵,提供一个思路,大家讨论吧。
Tyro 2000-07-17
  • 打赏
  • 举报
回复
谢谢大家的回复,我决定把分数分给大家,如果有人有更好的办法,可以用邮件和我联系,我还会给分的。

再次感谢大家!
VictorYu 2000-07-16
  • 打赏
  • 举报
回复
re:Tyro
大哥, 给点分吧, 有人又开始讨论这个问题了.呵呵
Victor Yu
Tyro 2000-07-13
  • 打赏
  • 举报
回复
re:VictoyYu
右键菜单是不出现了,但是鼠标上总是跟着一条细线,尤其是当鼠标右击后,再左击页面时,会出现一个长长的细线框,并且鼠标移走后细线框还存在。

不管怎么说,还是很感谢你。
明天我就把分数分给大家!
谢谢每个人的回复!
VictorYu 2000-07-13
  • 打赏
  • 举报
回复
re:tyro
你可以把下面那句注掉.然后把Layer1的z-index提高.好象我怎么点也不会出右键菜单了.
function showMenu()
{
PopMenu.style.left = x- 2;
PopMenu.style.top = y- 2;
PopMenu.style.visibility="";
// 去掉 Layer1.style.visibility='hidden';
}

会不会不太好看??
唯鱼
华南虎哥 2000-07-13
  • 打赏
  • 举报
回复
Tyro误会了,我的意思并不是说停留在某一阶段而不往前了,象我们做程序员的,学习是永远的,而且是累的。所以我说我也希望有一个更好的答案。当然,作为一名程序员,你会发现你所做的一切,包括你认为最满意的,也不可能是最完美的,你肯定会努力做得更好的。追求完美,超越自我--也是我的信条
Tyro 2000-07-13
  • 打赏
  • 举报
回复
re:victoryu
我注意到了在一开始的版本中,Layer1的z-index设的比较低,后来我也改变了z-index
的设置,还是会出现右键菜单,几乎和没有改动时一样。
re:hblinux
victoryu的办法是不错了,但是作为一名程序员,虽然不能说追求完美,但也不能满足于取得的成绩吧?
cjlong 2000-07-13
  • 打赏
  • 举报
回复
我好几天没上网了,请等我两天,好办法会有的。
华南虎哥 2000-07-13
  • 打赏
  • 举报
回复
VictorYu这个办法看来真的不错,但我也希望能有更好的答案。如果能提出一套完全控制浏览器的方案,那真是再好不过。
不过我还是同意VictorYu的答案,对于这个问题已经足够,再答下去就成了我上面的答案了。
VictorYu 2000-07-13
  • 打赏
  • 举报
回复
re:Tyro
在一开始的版本中,因为Layer1的z-index设的比较低.每次老鼠右键点在上面不会出右键菜单,但是马上PopMenu就会盖在上面.所以快速的点击会出现问题.如果将Layer1的z-index设的高一点.它将始终会在PopMenu上面.这样就不应该会出现问题了.我在这里也试的,没有出现右键菜单.不过如果你在按下老鼠后移到其它位置再放手.可能会出现问题.我也在想如何解决. 大家都来想呀! 快快!

Tyro 2000-07-13
  • 打赏
  • 举报
回复
re:VictoyYu
设置z-index没有作用呀!快速连点鼠标右键还是会弹出右键菜单!
VictorYu 2000-07-13
  • 打赏
  • 举报
回复
re:Tyro
我试过了,的确会出现这种情况.可以将Layer1的z-index设的高一点.比如Layer1的z-index:3; PopMenu的z-index:1.这样就可以了, 不过我这里会有一些闪动.不知道你那里会不会有.
唯鱼
Tyro 2000-07-12
  • 打赏
  • 举报
回复
re:victoryu
呵呵……出现问题了,快速连点鼠标右键就会弹出右键菜单!
VictorYu 2000-07-12
  • 打赏
  • 举报
回复
呵呵, 我要300分.试试下面的页,我觉的效果还可以,如果谁有改进的可以给我发Mail.:)

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

}
function showMenu()
{
PopMenu.style.left = x- 2;
PopMenu.style.top = y- 2;
PopMenu.style.visibility="";
Layer1.style.visibility='hidden';
}
</script>
<BODY>

在窗口中右击一下看看出什么:)
<div id=Layer1 style="position:absolute; width:4px; height:4px; z-index:1; visibility: hidden">
<select style="width:4"></select>
</div>
<div id=PopMenu style="position:absolute; width:100px; height:100px; z-index:3; visibility: hidden">
<table border=2 width=100 >
<TH align="center" color="sliver">
唯鱼的菜单
</tH>
<tr>
<td onclick="PopMenu.visibility = 'hidden';" style="cursor:hand">
click it!:)
</td>
</tr>
</table>
</div>

</BODY>
</HTML>
Tyro 2000-07-12
  • 打赏
  • 举报
回复
re:victoryu
我试过了,还算可以,有些小毛病,但是可以解决,虽然不是太理想,
可也算是一种方法!
两天后如果没有更新的答案,我就开始给分
Tyro 2000-07-11
  • 打赏
  • 举报
回复
re:VictorYu
我看你真是个天才!居然能想出3这样的办法!
这办法的好坏先不谈,这种想法实在是……不容易!
VictorYu 2000-07-11
  • 打赏
  • 举报
回复
我进行了两用人才方面的尝试.
对于第一点,除了linyu说的方法外,还有三种:
1.弹出一个新的窗口(窗口的位置在老鼠右击的位置上.)
2.弹出一个对话窗口(showModalDialog).无论这个窗口在什么位置都不会出现右键菜单。但是美中不足的是虽然可以用定时器将对话窗口杀掉,却无法使这个窗口移动到屏幕外去。
3.在Select上右击可以不会出现右键菜单。可以用一个移动的跟随老鼠,点下右键将Select放在老鼠的位置上。效果也不是很好。
至于第二点,我想只要第一点解决了,第二点太简单了。
希望大家都来讨论。
唯鱼
Tyro 2000-07-11
  • 打赏
  • 举报
回复
re:geofee
我说过要隐藏源代码吗?你还是看一下前面的讨论比较好!
geofee 2000-07-11
  • 打赏
  • 举报
回复
有必要吗?
不论你怎样屏蔽,我都能看到你的源文件。
html本身就是一种开放的资源,如果大家都不想让别人看到参考或者学习自己的东西,
就不应该到 CSDN 来。
加载更多回复(23)

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧