在Android浏览器上未引发JavaScript keypress事件

ale*_*nov 22 javascript jquery android keypress hybrid-mobile-app

我创建了一个简单的代码来处理keypress事件:

var counter = 0;        
$('input').on('keypress', function () {
    $('div').text('key pressed ' + ++counter);
});
Run Code Online (Sandbox Code Playgroud)

的jsfiddle.

但是在移动浏览器(Android 4 +,WindowsPhone 7.5+)上不会引发keypress事件处理程序.可能是什么问题?

Ada*_*hes 17

我相信keypress现在已被弃用.您可以登记Dom Level 3规格.使用keydownkeyup应该可以工作.该规范还建议,你应该使用beforeinput代替按键,但我不知道这样的支持.


HDT*_*HDT 15

尝试keyup会帮助你

var counter = 0;        
$('input').on('keyup', function () {
    $('div').text('key up ' + ++counter);
});
Run Code Online (Sandbox Code Playgroud)

  • 如果您想对更改做出反应,甚至可以使用oninput。但是,如果您要输入的是实际按键,那么这些按键都无法在Android上为您提供帮助。 (2认同)