JQuery переключения ввода текстовых полей на Ipad
У меня есть приложение для корзины покупок, в котором нужно брать кредитные карты. Номера кредитных карт вводятся в 4 различных поля ввода бок о бок, потому что большинство кредитных карт отформатированы по 16 цифр, разделены на группы по 4. У меня есть аккуратный эффект, чтобы упростить заполнение этих полей формы. Когда пользователь вводит 4 символа, я автоматически устанавливаю фокус на следующее поле ввода.
Это не работает на устройствах iOS. Когда я меняю фокус, клавиатура падает и больше ничего не происходит.
Чтобы облегчить это, я фиксирую нажатия клавиш:
$('input:regex(id, ^cc)').unbind("keyup").keyup(function(e) {
var element = e.target;
if($(element).val().length == 4) {
var cid = $(element).prop('id');
var prefix = cid.substr(0, 4);
var number = cid.substr(4, 1);
var postfix = cid.substr(5, cid.length);
//Use closest UL so that we stay within the bounds of this card
$(element).closest('ul').find('#' + prefix + ++number + postfix + ':first').focus();
}
});
Поля ввода имеют идентификаторы cc-1, cc-2 и т. Д., Которые объясняют последнюю строку в обратном вызове jquery. Пожалуйста, игнорируйте любые проблемы с синтаксисом. Я удалил этот код и, возможно, допустил некоторые ошибки на этом пути. Откровенно говоря, я не думаю, что с моим кодом что-то не так, я просто думаю, что это вещь для iOS.
Я знаю, что вы не можете заставить клавиатуру появляться без взаимодействия с пользователем, но разве нажатие клавиши не взаимодействует с пользователем? Кто-нибудь знает обходной путь?