我有一个网页,我需要拦截所有按键,然后才能将它们分派(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/

10-13 02:39