jQuery Mobile 将下一个输入集中在按键上

2024-04-22

我有一个 jquery 移动网站,其 html 表单由 4 个引脚输入框组成。我希望用户能够在每个输入字段中输入 pin,而不必按 iphone 键盘的“下一步”按钮。我尝试了以下操作,虽然它似乎将焦点设置到第二个输入并插入值,但键盘消失了,因此用户仍然必须通过点击事件激活所需的输入。

$('#txtPin1').keypress(function() {
        $('#txtPin1').bind('change', function(){  
            $("#txtPin1").val($("#txtPin1").val()); 
        });
        $("#txtPin2").focus();
        $("#txtPin2").val('pin2');
});

是否有一个不同的事件我应该分配给 $("#txtPin2")?

我尝试过实施http://jqueryminute.com/set-focus-to-the-next-input-field-with-jquery/ http://jqueryminute.com/set-focus-to-the-next-input-field-with-jquery/这也是,但我发现它适用于 android 而不是 iphone。

任何帮助都非常感激。


实例:http://jsfiddle.net/Q3Ap8/22/ http://jsfiddle.net/Q3Ap8/22/

JS:

$('.txtPin').keypress(function() {
    var value = $(this).val();

    // Let's say it's a four digit pin number
    // Value starts at zero
    if(value.length >= 3) {
        var inputs = $(this).closest('form').find(':input');
        inputs.eq( inputs.index(this)+ 1 ).focus();
    }
});

HTML:

<div data-role="page" data-theme="b" id="jqm-home">
    <div data-role="content">
        <form id="autoTab">
            <label for="name">Text Pin #1:</label>
            <input type="text" name="txtPin1" id="txtPin1" value="" class="txtPin" placeholder="Please enter Pin #1"/>

            <br />
            <label for="name">Text Pin #2:</label>
            <input type="text" name="txtPin2" id="txtPin2" value="" class="txtPin" placeholder="Please enter Pin #2"/>

            <br />
            <label for="name">Text Pin #3:</label>
            <input type="text" name="txtPin3" id="txtPin3" value="" class="txtPin" placeholder="Please enter Pin #3"/>

            <br />
            <label for="name">Text Pin #4:</label>
            <input type="text" name="txtPin4" id="txtPin4" value="" class="txtPin" placeholder="Please enter Pin #4" maxlength="4"/>
        </form>
    </div>
</div> 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jQuery Mobile 将下一个输入集中在按键上 的相关文章

随机推荐