使用Android/Cordova/Knockout中的数字输入捕获"Enter"按键

And*_*lsh 6 android knockout.js cordova

我正在使用Cordova/PhoneGap 2.5.0,Knockout 2.1.0和jQuery Mobile 1.3.0创建一个Android应用程序.

我创建了一个类型为"number"的输入,这个输入是数据绑定,其中Knockout就是它的值.它也是一个重要的新闻事件.我打算抓住用户按下enter键.

<input type="number" data-bind="value: $root.myInputValue, event: { keypress: $root.myInputKeypress }" min="0" step="1" max="29">


self.myInputKeypress = function() {
    var keyCode = (event.which ? event.which : event.keyCode);

    alert(keyCode);

    if (keyCode === 13) {
        //Do work here

        return false;
    }

    return true;
};
Run Code Online (Sandbox Code Playgroud)

当我按下允许的键(如数字)时,代码按预期运行,并且按下的键代码会被警告.当我按下enter键盘没有任何反应时,似乎Android正在抑制它认为不相关的键的事件.

有没有办法改变这种行为,以便我可以捕获用户点击enter?

小智 0

尝试使用 jquery mobile 在您的情况下可以工作

$('.ui-input-text').live('keyup', function(event) {
if (event.keyCode == 13) {
    // 'Go' pressed do something
}});
Run Code Online (Sandbox Code Playgroud)