使用jquery来监听网页中的事件,是否按下了键盘上的左键和右键,其代码如下:
<script type="text/javascript">
$(document).ready(function(){
$(document).keydown(function(event){
var KeyNumCode=0,e=e||event;
KeyNumCode=e.keyCode||e.which||e.charCode;
var keyName = String.fromCharCode(KeyNumCode);
switch(KeyNumCode)
{
case 37:
alert("Left"+ keyName);
break;
case 39:
alert("Right"+ keyName);
break;
default:
alert("other"+ keyName);
}
});
});
</script>
其中,keyName指的是按键对应的字符。KeyNumCode是按键对应的字母。由于存在兼容性的问题,因此,用到了e=e||event;和e.keyCode||e.which||e.charCode;这样就兼容了IE,FF,谷歌浏览器等主流的浏览器。
上面的代码相当巧妙,首先,e=e||event;这句代码是为了进行浏览器事件对象获取的兼容。js中这句代码的意思是,如果在FireFox或Opera中,隐藏的变量e是存在的,那么e||event返回e,如果在IE中,隐藏变量e是不存在,则返回event。
其次,currKey=e.keyCode||e.which||e.charCode;这句是为了兼容浏览器按键事件对象的按键码属性,如IE中,只有keyCode属性,而FireFox中有which和charCode属性,Opera中有keyCode和which属性等。