JavaScript — onmousedown 事件

JavaScript — onmousedown 事件html文件 onMousedowncapture Importantsourcedatathatsomeonemightwanttolookat.

html文件 你可能能查看到这个页面的源代码,但是你需要做一些工作

<!DOCTYPE html>
<html>
<head>
	<title>onMousedown capture</title>
	<script src="script.js"></script>
</head>
<body>
	<h1>Important source data that someone might want to look at.</h1>
</body>
</html>


script.js 这个脚本会阻止经验不太丰富的用户在页面上打开快捷菜单

if (typeof document.oncontextmenu == "object") {
	if (document.all) {
		document.onmousedown = captureMousedown;
	}
	else {
		document.oncontextmenu = captureMousedown;
	}
}
else {
	window.oncontextmenu = captureMousedown;
}

function captureMousedown(evt) {
	if (evt) {
		var mouseClick = evt.which;
	}
	else {
		var mouseClick = window.event.button;
	}
	
	if (mouseClick==1 || mouseClick==2 || mouseClick==3) {
		alert("Menu Disabled");
		return false;
	}
}


下面对这段脚本语言做些解释:

if (typeof document.oncontextmenu == "object") {
	if (document.all) {
		document.onmousedown = captureMousedown;


第一块代码检查浏览器是否是Firefox,这种浏览器使用window.oncontextmenu(因此不知道document.oncontextmenu)。如果它不是Firefox,再检查document.all,这是检查浏览器是否是IE的简便方法。如果它是IE,就在触发onmousedown时运行captureMousedown()。

	else {
		document.oncontextmenu = captureMousedown;


如果到达了这里,就说明访问者使用的是Safari,这种浏览器需要在document对象上设置oncontextmenu。

else {
	window.oncontextmenu = captureMousedown;


最后,如果浏览器是Firefox,就让window的oncontextmenu事件调用captureMousedown()函数。

function captureMousedown(evt) {
  
  


这个函数要处理onmousedown和oncontextmenu事件。基于Netscape的浏览器和Safari在触发事件时会自动地生成和传递evt参数,这个变量包含关于事件的信息。

	if (evt) {
		var mouseClick = evt.which;
	}
	else {
		var mouseClick = window.event.button;
	}


这个evt变量存在(访问者点击了鼠标的右键),就可以通过检查evt.which来判断用户单击的是哪个按钮。如果用户使用IE,用户操作的结果会在wondiw.event.button中找到。无论是哪种情况,结果都储存在mouseClick变量中。

	if (mouseClick==1 || mouseClick==2 || mouseClick==3) {
		alert("Menu Disabled");
		return false;
	}


如果mouseClick是1、2或3,就弹出一个警告框,向用户指出这个功能以已经禁用了,并返回false。返回false会阻止显示菜单窗口。

今天的文章JavaScript — onmousedown 事件分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/9856.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注