字母数字键的编辑器向下键锁定

问题描述 投票:0回答:1

我正在从事一个编辑器项目,并在常用的编辑器中实现,字母数字键输入的UX在keyDown上注册一次,其他键在keyDown上很简单。例如。如果按住a,则将插入a,但对于.,将插入......。所以我有这样的实现:

let keydownLock = false
const onKeyUp = () => { keydownLock = false }
const onKeyDown = () => {
  if (keydownLock) return
  if (isAlphanumeric) keydownLock = true
  other key handling...
}

我的问题是:

  1. 如果这是用于键输入的编辑器标准UX,请指向一些参考。
  2. 是否有一些特殊的键事件可以更容易地实现?

更新:我意识到这是所有可编辑内容的HTML元素的标准行为。因此,无需执行任何操作。但是我的第一个问题仍然存在。

javascript events editor
1个回答
0
投票

从我从您的问题中可以了解的内容来看,基本上在Javascript中,onkeypress事件与onkeydown事件类似,但是不会在所有浏览器中都针对所有键类型触发。

如果要取消键盘输入,最好同时取消onkeydown和onkeypress事件,因为有时根据浏览器和所按键的类型需要取消onkeypress / onkeydown事件。例如,如果要取消向左,向上,向右和向下键的光标,则需要在Internet Explorer,Firefox,Google Chrome和Safari中取消onkeydown事件,而需要在Opera中取消onkeypress事件。对于字母数字字符,取消onkeydown和onkeypress事件之一就足够了。

© www.soinside.com 2019 - 2024. All rights reserved.