javascript onkeydown事件
本人刚开始学习网页设计,按照书本写了一段JavaScript的脚本程序,主要目的是禁止用户使用alt+左右方向键,但是出现了很奇怪的问题。在IE8中刚开始能正确运行,只要...
本人刚开始学习网页设计,按照书本写了一段JavaScript的脚本程序,主要目的是禁止用户使用alt+左右方向键,但是出现了很奇怪的问题。在IE8中刚开始能正确运行,只要鼠标点击页面就会失效,刷新也不可以,把前两行替换为<html>后就能完全正确地运行了;在Firefox3.0.10中不论如何修改都不能正确运行。请各位帮帮忙解决一下,万分感谢!
附程序代码:
<!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>My Test Page</title>
<script type="text/javascript">
function keydown() {
if(event.altKey&&(event.keyCode==37||event.keyCode==39)) {
event.returnValue=false;
alert("当前设置不允许使用Alt+左右方向键");
}
}
</script>
</head>
<body onkeydown="keydown()">
<table width="250" bordercolor="#33CCFF" border="1" cellspacing="0" cellpadding="0" align="center">
<caption>图书分类表</caption>
<tr bgcolor="#00cc00">
<th>类型</th><th>书名</th><th>价格</th>
</tr>
<tr>
<td rowspan="2">计算机</td>
<td bgcolor="#9966ff">.NET开发</td><td>100</td>
</tr>
<tr>
<td>C#开发</td><td>56</td>
</tr>
<tr>
<td>文学</td><td>又见一帘幽梦</td><td>49</td>
</tr>
<tr>
<td colspan="3" align="right">2009-06-23</td>
</tr>
</table>
</body>
</html>
前三行换成<html> 展开
附程序代码:
<!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>My Test Page</title>
<script type="text/javascript">
function keydown() {
if(event.altKey&&(event.keyCode==37||event.keyCode==39)) {
event.returnValue=false;
alert("当前设置不允许使用Alt+左右方向键");
}
}
</script>
</head>
<body onkeydown="keydown()">
<table width="250" bordercolor="#33CCFF" border="1" cellspacing="0" cellpadding="0" align="center">
<caption>图书分类表</caption>
<tr bgcolor="#00cc00">
<th>类型</th><th>书名</th><th>价格</th>
</tr>
<tr>
<td rowspan="2">计算机</td>
<td bgcolor="#9966ff">.NET开发</td><td>100</td>
</tr>
<tr>
<td>C#开发</td><td>56</td>
</tr>
<tr>
<td>文学</td><td>又见一帘幽梦</td><td>49</td>
</tr>
<tr>
<td colspan="3" align="right">2009-06-23</td>
</tr>
</table>
</body>
</html>
前三行换成<html> 展开
展开全部
代码不规范肯定不行的啦,管你前三行用什么,改下面的!
<script type="text/javascript">
function keydown(evt) {
var evt=evt || event;
if(evt.altKey &&(evt.keyCode==37||evt.keyCode==39)) {
alert("当前设置不允许使用Alt+左右方向键");
return false;
}
}
</script>
</head>
<body onkeydown="keydown(event)">
<script type="text/javascript">
function keydown(evt) {
var evt=evt || event;
if(evt.altKey &&(evt.keyCode==37||evt.keyCode==39)) {
alert("当前设置不允许使用Alt+左右方向键");
return false;
}
}
</script>
</head>
<body onkeydown="keydown(event)">
展开全部
document.onkeydown=function(e){
e=e||fixEvent(e);
if (e.altKey && (e.keyCode==37 || e.keyCode==39)){
e.preventDefault();
e.stopPropagation();
}
}
function fixEvent(e){
e.preventDefault=function(){
this.returnValue=false;
};
e.stopPropagation=function(){
this.cancelBubble=true;
};
}
e=e||fixEvent(e);
if (e.altKey && (e.keyCode==37 || e.keyCode==39)){
e.preventDefault();
e.stopPropagation();
}
}
function fixEvent(e){
e.preventDefault=function(){
this.returnValue=false;
};
e.stopPropagation=function(){
this.cancelBubble=true;
};
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询