首页上一页 1 下一页尾页 5 条记录 1/1页
关于《JavaScript从入门到精通》的例题的疑惑
发表在JavaScript答疑区
2015-04-12
是否精华
是
否
版块置顶:
是
否
明日科技的老师:
您好!
关于《JavaScript从入门到精通》第63页例题4.6我有四点疑问。该例题源代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>屏蔽鼠标右键和键盘相关事件</title>
<link rel="stylesheet" href="../../../../javascript(04)/07/CSS/style.css">
<script language="javascript">
function maskingKeyboard() {
if(event.keyCode==8){ //判断是否为退格键
event.keyCode=0;
event.returnValue=false;
alert("当前设置不允许使用退格键");
}
if(event.keyCode==13){ //判断是否为回车键
event.keyCode=0;
event.returnValue=false;
alert("当前设置不允许使用回车键");
}
if(event.keyCode==116){ //判断是否为F5
event.keyCode=0;
event.returnValue=false;
alert("当前设置不允许使用F5刷新键");
}
if((event.altKey)&&((window.event.keyCode==37)||(window.event.keyCode==39))){ //判断是否为Alt+方向键←或方向键→
event.returnValue=false;
alert("当前设置不允许使用Alt+方向键←或方向键→");
}
if((event.ctrlKey)&&(event.keyCode==78)){ //判断是否为Ctrl+N
event.returnValue=false;
alert("当前设置不允许使用Ctrl+N新建IE窗口");
}
if((event.shiftKey)&&(event.keyCode==121)){ //判断是否为shift+F10
event.returnValue=false;
alert("当前设置不允许使用shift+F10");
}
}
//屏蔽鼠标右键
function rightKey(){
if(event.button==2){ //判断是否按下的是鼠标右键
event.returnValue=false;
alert("禁止使用鼠标右键!");
}
}
document.onmousedown=rightKey; //当鼠标键被按下时,调用rightKey函数
</script>
</head>
<body onkeydown="maskingKeyboard()">
<center>
欢迎访问明日科技网站<br>http://www.mingribook.com
</center>
</body>
</html>
我的问题是:
1、对于屏蔽键盘事件,如果在页面上点击了鼠标,不管是左键还是右键,都将不再生效。比如屏蔽回车键,在页面上点击鼠标之后,屏蔽就不起作用了。这是为什么?
2、调用rightKey函数,为什么是rightKey,而不是rightKey()?如果写成rightKey(),对鼠标右键的屏蔽将失效。
3、对maskingKeyboard函数的调用,为什么要放在<body>标签内?如果拿到外面,该怎么写?
4、对maskingKeyboard函数的调用,为什么要加双引号?
谢谢老师!
您好!
关于《JavaScript从入门到精通》第63页例题4.6我有四点疑问。该例题源代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>屏蔽鼠标右键和键盘相关事件</title>
<link rel="stylesheet" href="../../../../javascript(04)/07/CSS/style.css">
<script language="javascript">
function maskingKeyboard() {
if(event.keyCode==8){ //判断是否为退格键
event.keyCode=0;
event.returnValue=false;
alert("当前设置不允许使用退格键");
}
if(event.keyCode==13){ //判断是否为回车键
event.keyCode=0;
event.returnValue=false;
alert("当前设置不允许使用回车键");
}
if(event.keyCode==116){ //判断是否为F5
event.keyCode=0;
event.returnValue=false;
alert("当前设置不允许使用F5刷新键");
}
if((event.altKey)&&((window.event.keyCode==37)||(window.event.keyCode==39))){ //判断是否为Alt+方向键←或方向键→
event.returnValue=false;
alert("当前设置不允许使用Alt+方向键←或方向键→");
}
if((event.ctrlKey)&&(event.keyCode==78)){ //判断是否为Ctrl+N
event.returnValue=false;
alert("当前设置不允许使用Ctrl+N新建IE窗口");
}
if((event.shiftKey)&&(event.keyCode==121)){ //判断是否为shift+F10
event.returnValue=false;
alert("当前设置不允许使用shift+F10");
}
}
//屏蔽鼠标右键
function rightKey(){
if(event.button==2){ //判断是否按下的是鼠标右键
event.returnValue=false;
alert("禁止使用鼠标右键!");
}
}
document.onmousedown=rightKey; //当鼠标键被按下时,调用rightKey函数
</script>
</head>
<body onkeydown="maskingKeyboard()">
<center>
欢迎访问明日科技网站<br>http://www.mingribook.com
</center>
</body>
</html>
我的问题是:
1、对于屏蔽键盘事件,如果在页面上点击了鼠标,不管是左键还是右键,都将不再生效。比如屏蔽回车键,在页面上点击鼠标之后,屏蔽就不起作用了。这是为什么?
2、调用rightKey函数,为什么是rightKey,而不是rightKey()?如果写成rightKey(),对鼠标右键的屏蔽将失效。
3、对maskingKeyboard函数的调用,为什么要放在<body>标签内?如果拿到外面,该怎么写?
4、对maskingKeyboard函数的调用,为什么要加双引号?
谢谢老师!