javascript - jQuery 检查按下的键是否可打印

标签 javascript jquery jquery-events

通过使用 jQuery keydown 我能够获取目标并按下 keyCode

我想检查一下按键是否为可打印键

所以我使用了e.key,但这并不适用于所有浏览器

e.key 的结果:

Mozilla FireFox : MozPrintableKey
Google Chome: undefined
IE: undefined

是否有一种所有浏览器兼容的方法来检查按键是否可打印?

最佳答案

如果您希望它在所有浏览器中工作,您可以定义可打印的 key 哈希列表

var printableTable = {
  65:a,
  66:b,
  67:c
  ....
}
var el = document.getElementById("id");
el.onkeypress = function(e) {
    e = e || window.event;
    var keyCode = e.keyCode||e.which;
    if (keyCode in printableTable) {
        alert('this is printableTable!')
    }
});

关于javascript - jQuery 检查按下的键是否可打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20582472/

相关文章:

javascript - 将国家名称更改为缩写

javascript - 使用 e.stopPropagation() 防止事件冒泡的利弊

javascript - AMP-HTML 的自定义

javascript - 如何不仅在视觉上禁用光标?

javascript - 使用 jquery 的 Ajax 跨域请求

jquery - 保存 DOM 元素以便稍后在另一个页面中使用(Chrome 扩展)

javascript - jQuery 函数仅在第一次单击时返回 [object Object]

javascript - 添加事件监听器时如何将数据传递给函数?

JavaScript:获取点击的元素

javascript - 在 AngularJS 中使用 showType