0

我创建了一个代码来解释我在 jsfiddle 中的问题 - 这是该 http://jsfiddle.net/nxjohny/ULEDk/11/的链接和相应的代码:

<input id="input_1" type="text" maxlength="8">
<input id="input_2" type="text" maxlength="2">
<input id="hidden" type="hidden" />
<input id="hidden_2" type="hidden" />
<div id="demo">  PFFUU  </div>

//script 
function selectNextInput(e){
        if(e.val().length != 2){
            return;
        }
        console.log("ASD");
        $("#hidden").trigger('mouseup');
    };

    function setNextFocus(){
        $("#input_2").focus();
    }
    $(function(){

        var dec = function(){
            selectNextInput($("#input_1"));
        }
        $("#input_1").focus();
        $("#input_1").keyup(dec);
        $("#hidden").mouseup(setNextFocus);
        $("#demo").mouseup(setNextFocus);
    });

1 解决方案:如果单击 id="demo" div,焦点将设置在第二个 div 上。

2 解决方案:如果第一个输入字段满足 keyup(content lenght == x) 上的语句,则焦点将设置在第二个输入字段上,并触发 mouseup 事件并在其他地方处理。

问题如下:在第一种解决方案中,软键盘不会在 iOS 设备上消失。使用第二种解决方案,软键盘将在 iOS 上消失。我在我的 iphone 上尝试了第二种解决方案,软键盘消失了 :(

我想用第二个解决方案实现与第一个解决方案在 iOS 上的相同。

总结:(我想做什么|伪)if(条件)//输入的长度然后setFocusNext fi

而最重要的部分——焦点改变后会显示软键盘。

有可能解决这个问题吗?

欢迎任何评论!

此致

4

1 回答 1

0

我认为一个解决方案是blur(),然后重新focus(),以摆脱键盘。

于 2013-06-10T20:43:21.777 回答