javascript - 捕获按键而不在页面上放置输入元素?

标签 javascript

如何在不在 JavaScript 页面上放置输入元素的情况下捕获按键,例如 Ctrl+Z?似乎在IE中,keypress和keyup事件只能绑定(bind)到输入元素(输入框,文本区域等)

最佳答案

对于可能在浏览器中触发某些操作(例如,在可编辑文档或元素中)的箭头键和快捷键(如 Ctrl-z、Ctrl-x、Ctrl-c)等不可打印的键,您可能不会在所有浏览器中获取按键事件。因此,如果您有兴趣抑制浏览器的默认操作,则必须改用 keydown。如果没有,keyup 也可以。

keydown 事件附加到 document 适用于所有主流浏览器:

document.onkeydown = function(evt) {
    evt = evt || window.event;
    if (evt.ctrlKey && evt.keyCode == 90) {
        alert("Ctrl-Z");
    }
};

为了完整的引用,我强烈推荐Jan Wolter's article on JavaScript key handling .

关于javascript - 捕获按键而不在页面上放置输入元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2878983/

相关文章:

javascript - 注入(inject)带有路由器链接的模板组件时的 Angular2 路由器链接问题

javascript - 使用className.onclick JS调用函数

javascript - Bootrap3 响应式导航已停止在手机和平​​板电脑屏幕尺寸上工作

javascript - 响应 jQuery 中的调整大小事件

javascript - 将多维输入转换为 JavaScript 对象

javascript - 如何解析每个周期有两个低潮/高潮的 worldtide.info JSON?

javascript - 如何在 Protractor 中使用异步等待?

javascript - 从 Google ReCaptcha 抓取中获取错误的验证码图像

javascript - 通过 mapsOrder 数组确定下一张 map

javascript - JSON 菜单,在父 LI 中添加子级别