keyDown 与 keyPress 原生事件的区别

本文详细解析了keyDown与keyPress事件的区别,介绍了如何通过event对象的key与which属性来判断用户按下的是哪个键,并解释了keyCode与charCode的概念及应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

keyDown 与 keyPress 的区别

keyDown会在你按下任何按键时触发,但是keyPress只会在你按下的按键可以产生出一个字符(输入东西)的时候触发。

charCode代表着是一个 char(字符)的 code(专业点讲是 Unicode 码),那keyCode显然就是代表一个 key(按键)的 code。

可以用event对象的key,which去判断按下了键盘的哪个键。
which的值在keyDown时是keyCode的值,在keyPress时是charCode的值。如果是输入的情况下可以用String.fromCodePoint()转换出对应的字符。

event.key属性获取到的按键是区分按键转换的,比如你按 A 键,你可能是要输入大写的 A,也可能是要输入小写的 a。

键盘按钮 keyCode 表

在这里插入图片描述
在这里插入图片描述

组合按钮

if ((window.event.ctrlKey)&&(window.event.keyCode==49))
alert("您按下了CTRL+1键");

Shift、Control、Alt、Meta 键在JS中也可用window.event.shiftKey、window.event.ctrlKey、window.event.altKey、window.event.metaKey代替。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值