首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在文本区域中按下字符

如何在文本区域中按下字符
EN

Stack Overflow用户
提问于 2011-12-15 11:19:57
回答 2查看 237关注 0票数 0

这真的很奇怪。

我有一个文本区。我收听快捷键和快捷键事件。

当我按下"(“时,e.keyCode == e.which == 40会触发快捷键

当我按下向下键时,e.keyCode == e.which == 40将触发keyup

这有什么奇怪的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-15 11:35:40

keydownkeyup事件提供一个代码,指示按下了哪个,而keypress指示输入了哪个字符

"(“的字符代码是40 (keypress事件),向下箭头的键代码也是40 (keyup)。

尝试:

代码语言:javascript
复制
String.fromCharCode(40); // "("
票数 2
EN

Stack Overflow用户

发布于 2011-12-15 11:39:17

传统上,箭头键与ASCII代码重叠,但对程序员来说是以两个字节的序列表示的,因此您知道按下了一个特殊的键。随着Unicode的出现,这不再是一个干净的解决方案。

浏览器已经实现了不同的方式来表示对Javascript运行时的特殊键输入。详细信息请参阅explained here

当检测到箭头键时,我通常使用'keydown‘事件,因为这个事件有正确的键代码,并且当用户输入左括号时,会用不同的键代码(9的那个)触发。在您希望允许用户通过按住箭头键重复键控事件的情况下,这可能不起作用。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8514711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档