我创建了一个代码来解释我在 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
而最重要的部分——焦点改变后会显示软键盘。
有可能解决这个问题吗?
欢迎任何评论!
此致