本文主要是介绍JavaScript -- onmousedown 事件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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 事件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!