过滤产生字符的按键事件

hel*_*on3 2 html javascript

我只需要跟踪keyup产生字符的按键事件。我需要keyup(跟踪所有键)over keypress(仅跟踪产生字符的键)的原因是因为我的逻辑必须在字符出现在 DOM 中之后运行。

我的逻辑在添加到contenteditable(TinyMCE) 时对内容进行样式设置,但我无法执行此操作keypress,因为内容实际上尚未添加。

MDN 文档keyup提到了该char属性,这听起来像是我想要的,但至少在 Chrome 中,它始终是undefined.

我需要支持 IE10+、现代 Chrome/Firefox,如果这很重要的话。

Jak*_*ger 5

您可以使用正则表达式检查按下的键是否是字符。

function(e) {
  if (e.key.match(/^[a-zA-Z]$/g)) {
     // Do something with character
  }
}
Run Code Online (Sandbox Code Playgroud)