我已经创建了一个代码来解释我在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上的语句(内容长度== x),则重点将是 使用触发的mouseup事件在第二个输入字段上设置并在其他地方处理。
问题如下: 在第一个解决方案中,软键盘不会在iOS设备上消失。 使用第二种解决方案,iOS上的软键盘将消失。 我在iphone上尝试了第二种解决方案,软键盘消失了:(
我想用第二个解决方案实现与iOS上的第一个解决方案相同。
摘要:(我想做什么|伪) if(condition)//输入的长度 然后 setFocusNext 网络
最重要的部分 - 焦点改变后会显示软键盘。
有可能解决这个问题吗?
欢迎任何评论!
祝你好运
答案 0 :(得分:0)
我认为解决方案是blur()
然后重新focus()
才能摆脱键盘。