0

我有一个需要使用信用卡的购物车应用程序。信用卡号码并排输入到 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();
        }
});

输入字段枚举了 id 'cc-1'、'cc-2' 等,这解释了 jquery 回调中的最后一行。请忽略任何语法问题。我已经清理了这段代码,并且可能在此过程中犯了一些错误。坦率地说,我认为我的代码没有任何问题,我只是认为这是 iOS 的问题。

我知道你不能让键盘在没有用户交互的情况下出现,但是按键不是用户交互吗?有谁知道解决方法?

4

0 回答 0