keydown和keypress的keyCode、charCode的值怎么不一样

keydown和keypress的keyCode、charCode的值怎么不一样

<!DOCTYPE html>

<html>


<head>

    <meta charset="UTF-8">

    <title>习题</title>

</head>


<body>

    <input type="text" value=""><span></span>

    <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>

    <script>

    //此处写代码

    $(document).keydown(function(evnet){

        console.log(event.charCode+' '+event.keyCode);

    });

    $(document).keypress(function(evnet){

        console.log(event.charCode+' '+event.keyCode);

    });

    </script>

</body>


</html>


正在回答 回答被采纳积分+1

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

3回答
好帮手慕星星 2020-08-29 17:26:12

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

1、keydown的时候,不管按下大写字母还是小写字母,对应的都是大写字母的编码

2、keypress的时候,按下大写字母编码是大写字母的,按下小写字母编码是小写字母的

所以按下小写字母的时候两者对应编码不一致,按照大写字母的时候两者编码一致。

祝学习愉快!

提问者 慕慕4335856 2020-08-29 14:03:01
好帮手慕星星 2020-08-29 13:54:32

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

1、charCode 属性返回onkeypress事件触发键值的字符代码,如果该属性用于onkeydown或onkeyup 事件,返回值总为 "0"。所以两个事件中charCode属性值可能会不一样

http://img1.sycdn.imooc.com//climg/5f49ed3309125bd401980063.jpg

2、keyCode 属性返回onkeypress事件触发键值的字符代码,或者 onkeydown 或 onkeyup 事件的键的代码。也就是说这个属性三个事件都是适用的,所以返回值一致

http://img1.sycdn.imooc.com//climg/5f49ed8609cef4e501670066.jpg

自己再理解下,祝学习愉快!

  • 提问者 慕慕4335856 #1
    我在大写的时候keyCode才是一样的,小写时候不一样啊???
    2020-08-29 14:02:15
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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