javaweb开发-js代码中keypress事件调用判断,取得keyCode值

在js代码中的一段代码,keypress事件调用的函数中的代码。

var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;  

当捕捉的是keypress事件时,当你按的是可打印字符时,keyCode为0,charCode指的是你按下的字符的键值,当你按的是不可打印字符时,keyCode为按下的键的键值,charCode为0

在firefox中情况有些不同,event对象包含一个keyCode属性和一个charCode属性,keydown和keyup事件的时候,keyCode表示的就是你具体按的键,charCode为0;
当捕捉的是keypress事件时,keyCode为0,charCode指的是你按下的字符

键盘事件的event对象中包含一个keyCode属性,IE中只有这一个属性,当为keydown和keyup 事件时,keycode属性表示你具体按下的键(也称为virtual keycode),
当捕捉的是keypress事件时keyCode属性指的是你键入的字符(character code)

Netscape/Firefox/Opera中不支持 window.event.keyCode,需要用event.which代替,IE用event.keCode方法获取当前被按下的键盘按键值,而NetScape/FireFox/Opera用的则是event.which。

总上所述,还可以如下编写代码:

var keyCode = e.keyCode||e.which||e.charCode;

 

posted @ 2015-12-08 09:56  老冯9  阅读(494)  评论(0编辑  收藏  举报