我这里有一行代码(不涉及表格):
<input type="number" min="0" max="9999999" id="inSku" name="inSku">
之前,我使用的是
type="text"
,但在默认情况下提供完整键盘的移动浏览器上,相关框仅接受数字输入。从逻辑上讲,当移动浏览器聚焦于 type="number"
字段时,它们将更改为纯数字键盘 - 然而,我目前依靠一点 jQuery
来处理表单内容的提交。这是代码:
$("#inSku").keyup(function (event) {
if (event.keyCode == 13) {
ringItem();
}
});
这里的问题是,在普通的 Android 手机键盘上(我假设还有很多其他移动浏览器) - 使用“数字”键盘时,常规字母数字 Android 键盘上的 Enter 键已更改为“下一步”按钮。在我的例子中,这个按钮接受文本输入并将其粘贴在地址字段中,这并不理想。有什么方法可以利用键盘上的下一个按钮并让它执行我的其他 javascript 函数吗?
尝试
$('#inSku').keyup(function (e) {
alert('Key pressed: ' + e.keyCode);
});
这里的想法是按
next
按钮并找到该密钥代码。完成后,您可以将其添加到您的逻辑中,例如 if (event.keyCode === 13 || event.keyCode === ...)
。您可以根据需要添加任意数量的限定符以支持多个键盘和设备。
这实际上是 android/chrome 检测页面上的第二个输入并假设您想继续填写表单。多么有帮助。
通过使用设置为“完成”或“搜索”或“输入”的 enterkeyhint 属性来禁用此功能。