输入数字字段时移动浏览器上“输入/下一步”键的行为

tay*_*low 5 html javascript forms mobile jquery

我在这里有一行代码(不涉及表单):

<input type="number" min="0" max="9999999" id="inSku" name="inSku">
Run Code Online (Sandbox Code Playgroud)

之前,我使用type="text", 但在默认情况下提供全键盘的移动浏览器上,有问题的框只接受数字输入。从逻辑上讲,移动浏览器在专注于某个type="number"字段时将更改为唯一数字键盘- 但是,我目前正在依靠一点点jQuery来处理表单内容的提交。这是代码:

$("#inSku").keyup(function (event) {
    if (event.keyCode == 13) {
        ringItem();
    }
});
Run Code Online (Sandbox Code Playgroud)

这里的问题是,在现有的 Android 手机键盘上(我假设有很多其他移动浏览器)-使用“数字”键盘时,常规字母数字 android 键盘上的 Enter 键已更改为“下一步”按钮。在我的例子中,这个按钮接受文本输入并将其粘贴在地址字段中,这并不理想。有没有办法利用键盘上的下一个按钮并让它执行我的其他 javascript 功能?

bea*_*der 2

尝试

 $('#inSku').keyup(function (e) {
   alert('Key pressed: ' + e.keyCode);
 });
Run Code Online (Sandbox Code Playgroud)

这里的想法是按下next按钮并找到该关键代码。一旦完成,您可以将其添加到您的逻辑中,例如if (event.keyCode === 13 || event.keyCode === ...). 您可以根据需要添加任意数量的限定符以支持多个键盘和设备。

  • 就我而言,OnePlus 6 似乎没有触发“下一步”按钮的 keydown 或 keyup 事件 (3认同)