charCode与keyCode的区别

在标准浏览器下获取键盘按键我们可以使用e.which,但是非标准下没有这个属性,所以大部分情况下用keyCode,但是这是存在兼容性问题的。我们来看下他两的区别:

onkeydown: e.keyCode  有值

onkeyup: e.keyCode 有值

onkeypress: e.keyCode 为0

onkeydown: e.charCode  为0

onkeyup: e.charCode 为0

onkeypress: e.charCode 有值

结论:charCode 返回onkeypress事件触发键值的字母代码。

keyCode 返回 onkeydown 或 onkeyup 事件的键的代码。

做一下兼容处理:

function myFunction(e) {
    e || (e = window.event);
    if(e.which == null){
        e.which = e.charCode != null ? e.charCode : e.keyCode;
    }
}
时间: 2024-12-12 10:19:46

charCode与keyCode的区别的相关文章

关于js的keyCode

原生js的event对象有三个键盘事件的值:1) charCode: 被点击键的Unicode值2) keyCode: 被点击键的ASCII十进制值3) which: 字母数字键的charCode或者keyCode,具体可以自己试试 Mootools的event被封装后,统一成为code和key: ? 1 2 event.code = event.which || event.keyCode; event.key = String.fromCharCode(code).toLowerCase()

Javascript中最常用的55个经典技巧

1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键 <table border oncontextmenu=return(false)> <td>no </table> 可用于Table 2. <body onselectstart="return false"> 取消选取.防止复制 3. onpaste="return false"

Javascript中最常用的61个经典技巧[转]

1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键<table border oncontextmenu=return(false)><td>no</table> 可用于Table 2. <body onselectstart="return false"> 取消选取.防止复制 3. onpaste="return false" 不

【经验】JavaScript

1.function closeWin(){             window.open('','_self');       window.opener=null;  //    window.open(location, '_self').close();    window.close();      }这段是兼容最新浏览器的关闭窗口代码,但是在chrome下以输入网址打开的页面无法使用window.close(),会提示Scripts may close only the windo

JavaScript最经典的55个技巧(转)

从别的地方看到的,保存下,有空实践下再补充. 1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键 <table border oncontextmenu=return(false)> <td>no </table> 可用于Table 2. <body onselectstart="return false"> 取消选取.防止复制 3. onpaste=

Javascript中最常用的61段经典代码

1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键 <table border oncontextmenu=return(false)><td>no</table> 可用于Table 2. <body onselectstart="return false"> 取消选取.防止复制 3. onpaste="return false"

键盘事件keydown、keypress、keyup随笔整理总结(摘抄)

原文1:http://www.cnblogs.com/silence516/archive/2013/01/25/2876611.html 原文2:http://www.cnblogs.com/leolai/archive/2012/08/01/2618386.html 英文输入法: 事件触发顺序:keydown - > keypress - > keyup 中文输入法: firfox:输入触发keydown,回车确认输入触发keyup chrome:输入触发keydown.keyup,回车确

(搜集)前端一些小技巧

1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键 <table border oncontextmenu=return(false)><td>no</table> 可用于Table 2. <body onselectstart="return false"> 取消选取.防止复制 3. onpaste="return false"

55种网页常用小技巧

1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键 <table border oncontextmenu=return(false)><td>no</table> 可用于Table 2. <body onselectstart="return false"> 取消选取.防止复制 3. onpaste="return false"