【问题标题】:Enable enter key on numeric keyboard in PhoneGap在PhoneGap中启用数字键盘上的回车键
【发布时间】:2013-08-08 04:31:46
【问题描述】:

我们在 Android 3.22 上运行 PhoneGap 2.6(jquery mobile 和骨干网也在混合中)。我们希望这样做,以便用户在字段中输入值后可以点击回车键提交表单。该字段是一个数字输入。

<input id="myfield" type="number">

很遗憾,软键盘上的 Enter 按钮似乎已禁用。因此,当您点击它时,不会触发任何事件。以下都不起作用:

$('#myfield').on('keyup', keyhandler);
$('#myfield').on('keydown', keyhandler);
$('#myfield').on('keypress', keyhandler);
$('#myfield').keyup(keyhandler);
$('#myfield').keydown(keyhandler);
$('#myfield').keypress(keyhandler);

keyhandler: function(e) {
    console.log('You tapped a key');
    if (e.keyCode  == 13) {
        console.log('You tapped ENTER! Yay!');
    }
}

有没有办法启用数字键盘上的输入按钮?

【问题讨论】:

  • 向我们展示keyHandler函数。
  • 您找到解决方案了吗?我一直在研究同样的问题,似乎数字字段会自动将 Go 按钮切换到下一个按钮,由于某种奇怪的原因,它不会触发任何 keydown、keyup 或 keypress 事件。我找到了这个answer nr 2,但没有让它工作。
  • 我们从未找到解决方案。如果我们想要触发其中一个事件,我们不得不放弃使用数字键盘。

标签: android events jquery-mobile cordova keyboard


【解决方案1】:

不确定这是否与您的问题有关...但是您可以模拟表单提交,类似于通过按下数字键盘上的“下一步”按钮单击“开始”时发生的情况。您可以通过在 JQuery 中使用以下绑定来检测下一次键盘按下:

$('input').on('keydown', function(e){
    if(e.which === 9) {
        //your code here
    }
});

“下一步”按钮模拟键盘上的 tab keypress 事件,即键码 9。不幸的是,keypress 和 keyup 事件不会检测到下一个键事件,因此您需要在 keydown 上绑定它。

【讨论】:

    猜你喜欢
    • 2012-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-25
    • 2018-03-07
    • 2011-07-07
    • 2014-06-06
    • 1970-01-01
    相关资源
    最近更新 更多