javascript - 如何知道 .keyup() 是否是字符键(jQuery)

标签 javascript jquery events keyboard keycode

如何知道 .keyup() 是否为字符键(jQuery)

$("input").keyup(function() {

if (key is a character) { //such as a b A b c 5 3 2 $ # ^ ! ^ * # ...etc not enter key or shift or Esc or space ...etc
/* Do stuff */
}

});

最佳答案

您不能通过 keyup 事件可靠地做到这一点。 如果您想知道有关输入字符的信息,您必须改用 keypress 事件。

以下示例将在大多数浏览器中始终有效,但您应该注意一些边缘情况。对于我认为这方面的权威指南,请参阅 http://unixpapa.com/js/key.html .

$("input").keypress(function(e) {
    if (e.which !== 0) {
        alert("Charcter was typed. It was: " + String.fromCharCode(e.which));
    }
});

keyupkeydown 为您提供有关按下的物理键的信息。在标准布局的标准美国/英国键盘上,这些事件的 keyCode 属性与它们所代表的字符之间似乎存在关联。然而,这并不可靠:不同的键盘布局会有不同的映射。

关于javascript - 如何知道 .keyup() 是否是字符键(jQuery),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3977642/

相关文章:

jquery - 为什么 jQuery 与 jQuery Mobile 冲突?

jquery - 无法捕获在 jQuery 中按下的删除键

javascript - 难以将正则表达式与过滤方法匹配

javascript - 数据表中的流程图

javascript - 使用 Node.js,是否有一些语义可以告诉我代码何时要离开当前堆栈?

Jquery .map().join (", ") 文本未加入逗号 (,)

java - 如何让Java类监听C程序 "stdout"上的事件

python - 无名函数作为函数参数?

javascript - 如何将 AJAX 数据从 Vue 实例传递到组件?

javascript - 创建多个 Webpack 构建并处理可选依赖项