charCode对应的事键的ascii码,key是键,keyCode是键码,对吗?

charCode对应的事键的ascii码,key是键,keyCode是键码,对吗?

感觉视频里面有时候讲错了,还是我

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,对于你的问题解答如下:

1、charCode 属性在onkeypress事件中返回是键盘按键对应的Unicode值,但用于 onkeydown 或 onkeyup 事件,返回的值总为 "0"

2、key返回的就是对应的键盘按键

3、keyCode属性在onkeypress事件中返回的的是对应的 ASCII 码。但在 onkeydown 或 onkeyup 事件中返回的是键码。例如:小写字符 "w" 和大写字符 "W" 有相同键码,因为他们在键盘使用一个按键 ( "W" 代码为 "87"),但是它们有不同的 ASCII 码,两个字符输出是不一样的( "w" 和 "W" 字符代码为 "119" 和 "87") 

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Document</title>

</head>

<body>
<input type="text" id="btn1">
<input type="text" id="btn2">
<input type="text" id="btn3">

<script type="text/javascript">
var btn1 = document.getElementById('btn1')
var btn2 = document.getElementById('btn2')
var btn3 = document.getElementById('btn3')
btn1.onkeypress = function(event) {
console.log('btn1,charCode: ', event.charCode)
console.log('btn1,key: ', event.key)
console.log('btn1,keyCode: ', event.keyCode)
}
btn2.onkeydown = function(event) {
console.log('btn2,charCode: ', event.charCode)
console.log('btn2,key: ', event.key)
console.log('btn2,keyCode: ', event.keyCode)
}
btn3.onkeyup = function(event) {
console.log('btn3,charCode: ', event.charCode)
console.log('btn3,key: ', event.key)
console.log('btn3,keyCode: ', event.keyCode)
}
</script>

</body>

</html>

同学可以结合代码测试理解下,同学不用纠结,由于这些属性存在兼容性,所以实际中不经常使用,简单了解下就可以了。

另,同学如果觉得视频中有的知识讲解有误,可以指出具体是哪一小节几分几秒,便于审核视频,帮助同学更加高效准确的定位与解决问题。

祝学习愉快 ~

  • 王文辉 提问者 #1
    jq应该解决了这个兼容性问题吧,我对jq的理解就是把原生的js封装的更好用,并且提供一些方法解决原生的兼容性问题,我去写一个demo试试
    2020-04-23 19:38:27
  • 王文辉 提问者 #2
    我试了下,老师说的是对的,兼容性是指那些,不同浏览器,不同版本也会有区别吗
    2020-04-23 20:10:11
好帮手慕慕子 2020-04-24 09:59:30

同学你好,兼容性主要就是不同浏览器,不同版本之间存在的一些差别,示例:在一些旧版本的 Firefox 中, keyCode 属性在 onkeypress 事件中是无效的 (返回 0)。

同学不用纠结的,了解下就可以了,祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师