【发布时间】:2016-09-30 20:41:05
【问题描述】:
我的最终目标是覆盖数字键盘上的输入按钮以关闭键盘。
我有一个输入字段,我最终希望用户在其中输入电话号码。因此,我这样设置它,我用一个表单包围输入以尝试覆盖输入按钮(我正在使用角度):
<form ng-submit="closeKeyboard()">
<input id="myInput">
</form>
这成功地覆盖了回车键并关闭了键盘。接下来,我只想要数字键盘,所以我更新了我的输入:
<input id="myInput" type="tel" pattern="\d{3}[\-]\d{3}[\-]\d{4}">
这可以成功调出数字键盘(是的,我知道将类型设置为数字或数字(不记得哪个)也可以)。但是,现在输入按钮没有被覆盖。所以我尝试将它设置为有一个 keyup 监听器来忽略输入按钮:
elem.keyup(function (event) {
var x = event.keyCode;
var y = event.which;
if (x == 13 || y == 13) {
$element.find(":input").blur();
}
});
这成功地捕获了许多个键。当我在数字键盘上键入“5”和“6”键时,它是成功的。除非我单击数字键盘上的输入按钮,否则它会跳转到屏幕上的下一个输入字段。请帮忙! PS,我正在 Nexus 9 上对此进行测试,并通过开发人员工具使用 Chrome 的远程调试器。当我通过远程调试器键入回车键时,它成功读取了 13 的键码。
【问题讨论】:
标签: javascript android keyboard enter keyup