捕捉“回车”按键与Android的数字输入/科尔多瓦/淘汰赛(Capture “Enter” key

2019-08-19 05:56发布

我创建使用科尔多瓦/ PhoneGap的2.5.0,2.1.0淘汰赛和jQuery移动1.3.0 Android应用程序。

我已创建了类型为“数字”,这个输入一个数据绑定与淘汰赛它的值的输入。 这也是数据绑定到一个按键事件。 我打算捕捉用户按下回车键。

<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;
};

当我按允许的键,如数字的代码运行正常和按下的键代码被提醒。 当我按下键盘没有任何反应的进入 ,似乎Android是抑制来自键它认为是不相关的事件。

有没有办法来改变这种行为,这样我可以捕捉用户按回车键

Answer 1:

如果您使用的离子/角

<input ng-keypressed="myKeyPressed($event)" ng-model="myField">

self.myKeyPressed = function(keyEvent) {
    if(keyEvent.keyCode == 13) //do things
}


Answer 2:

试试这个使用jQuery Mobile的在您的情况可以工作

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


Answer 3:

喜把你的文本框的形式标记

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

并添加事件表单提交踏歌

$(document).ready(function () {
    $("#Articleform").on('submit', function (event) {
        alert("enter");
        return false;
    });

当你点击进入戒备是开放的



Answer 4:

我有同样的问题,这个问题以编号字段输入密钥号码是9我的设备上,在模拟器是13。

这对我的作品:

$('.ui-input-text').live('keyup', function(event) {
if (event.keyCode == 9) {
    // 'Go' pressed do something
}});


文章来源: Capture “Enter” keypress with numeric input in Android/Cordova/Knockout