[Javascript]禁用特定的键盘按键事件
一个奇怪的需求,禁用来自用户键盘输入的特殊按键事件,例如禁用Escape、Backspace、F5等按键。主要用于减少用户的错误输入导致的数据错误等问题,同时需要在页面加载关闭重新加载期间有效。
实现方法:
1.页面加载和关闭时用window.onkeydown事件处理,页面加载完成后可以用jquery的document.ready()来处理。
2.禁用按键的话通过判断输入的按键代码来控制,输入不符合条件的按键代码则返回空的按键代码
实现代码如下:
<!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>
<title></title>
<script language="javascript" type="text/javascript">
window.onkeydown = function (event) {
//var e = window.event?window.event:event;
var e = event || window.event;
if(e.keyCode == 27) {
e.returnValue=false;
e.keyCode = 0;
return false;
}
};
</script>
<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js' type="text/javascript"></script>
<script language="javascript" type="text/javascript">
$(document).ready(function() {
document.onkeydown = function (event) {
//var e = window.event?window.event:event;
var e = event || window.event;
if(e.keyCode == 27){
e.returnValue=false;
e.keyCode = 0;
return false;
};
}
});
</script>
</head>
<body>
</body>
</html> |
Recent Comments