我有一个网页,我需要拦截所有按键,然后才能将它们分派(dispatch)到 dom 中具有焦点的任何元素。当用户输入类似 ~goto:/index.html:
(实际上来自条形码扫描仪)的内容时,我需要在 ~
之后捕获按键,以便在我到达第二个 :
时解析它们。我设法用 $(document).keypress()
得到了一些东西,如下所示:
$(document).ready(function() {
$(document).keypress(function(e) {
// do the processing here and
// return false when ignoring keystrokes
});
});
问题是我在进入焦点元素后得到了按键。无论如何要先得到它以便我实际上可以拒绝它?
最佳答案
keydown 应该在事件发生之前触发
也这样做
$(document).keydown(function(e) {
e.preventDefault();
});
调用 preventDefault 将停止按键的正常过程。实际上,您可以继续使用按键并仅使用 preventDefault 来完成您的拦截需求。
关于javascript - 在处理之前用 jQuery 拦截所有按键,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4355594/