在触摸设备上使用键盘和jQuery $(document).keypress()

时间:2014-02-10 11:05:39

标签: javascript jquery keyboard android-softkeyboard

即使在触摸设备上,我的页面也需要键盘控制。我放了一个聚焦INPUT元素的BUTTON元素。这很有效,软键盘出现了。

$('button').click(function() {
  $(this).next().focus();
});

但只要INPUT元素具有焦点,就不会在Chrome for Android上触发$(文档).keypress()。

$(document).keypress(function(e) {
  var char = (typeof e.which == "number") ? e.which : e.keyCode;
  $('body').append(char);
});

我可以跟踪INPUT元素上的事件,但是我在许多设备上都有双输入。

1 个答案:

答案 0 :(得分:0)

解决方案是在INPUT元素的“输入”事件上创建INPUT元素和绑定函数。它们存储了大部分输入。为了确保“keyup”和“input”都没有双输入,只有当INPUT元素没有焦点时才会使用“keyup”事件。