[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