Моя конечная цель - переопределить кнопку ввода на цифровой клавиатуре, чтобы закрыть клавиатуру.Пропустить цифровую клавиатуру введите кнопку с javascript или html
У меня есть поле ввода, в котором я в конечном итоге хочу, чтобы пользователь вводил номер телефона. Поэтому я настраивал его таким образом, что я окружал входной форму формой, чтобы попытаться переопределить кнопку ввода (я используя угловой):
<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 для кода ключа.
Также вызовите event.preventDefault(), чтобы остановить содержимое естественной вкладки – Kevin