博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
keycode,charcode,which区别
阅读量:6320 次
发布时间:2019-06-22

本文共 802 字,大约阅读时间需要 2 分钟。

hot3.png

引用:在标准浏览器下获取键盘按键我们可以使用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 事件的键的代码。

___________________________________________________________________________________________________

一 :不同浏览器和不同事件,会有不同的属性值。上述结论并不绝对,还和浏览器及输入法(主要是微软中文输入法)有关。

    1. event.key: 返回值为输入的值,特殊键是各自的名字。(异常:当在非IE及微软输入法时,有实质输入的键返回值为 “”Process“”,其他键不变)。

    2.keyCode,charCode,which:返回值为 keyCode 。在微软中文输入时,返回值为229.(而此时也无法阻止默认行为)

    保险做法是,无论哪种都做兼容:code = event.keyCode || event.charCode;(同时判断229特殊情况)

    3. String.fromCharCode(keyCode):将返回码转成返回内容,但是除了有实质内容的键,其他的键转化结果有点乱。

 

转载于:https://my.oschina.net/u/3272730/blog/1838930

你可能感兴趣的文章
javascript的对象、类和方法
查看>>
SSH免密码登录失效的问题
查看>>
Python源代码的组织
查看>>
android 使用广播 接收和拦截 android系统短信
查看>>
android 开发中 sdk 无法更新
查看>>
egret -纹理集的制作
查看>>
c's's透明度
查看>>
潜移默化学会WPF(安全篇<一>)--MD5加密三种方法加实践
查看>>
compile vim with lua & python support
查看>>
最大子序列
查看>>
数据库面试sql
查看>>
NYOJ 47:过河问题(思维)
查看>>
链表详解
查看>>
Qt设置圆角按钮样式
查看>>
并发(三)
查看>>
查看mysql数据库日志
查看>>
2.Spring Cloud初相识--------Eureka服务注册与消费
查看>>
22.访问jar包下资源路径里的文件
查看>>
acm相关(纯转载)
查看>>
iOS实现提现类似的密码输入框
查看>>