Javascript 输入焦点改变
我试着做一个类似填字游戏的测验,当输入是带字母的字段时,我需要改变对输入的关注。问题是,我可以将焦点更改为位于同一div中的字段Javascript 输入焦点改变,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我试着做一个类似填字游戏的测验,当输入是带字母的字段时,我需要改变对输入的关注。问题是,我可以将焦点更改为位于同一div中的字段 $(".inputs").keyup(function () { $(this).next().focus(); }); 或者在两个div之间 $(':input').keyup(function (e) { if ($(this).val().length == $(this).attr('maxlength')) { $(this
$(".inputs").keyup(function () {
$(this).next().focus();
});
或者在两个div之间
$(':input').keyup(function (e) {
if ($(this).val().length == $(this).attr('maxlength')) {
$(this).closest('div').next().find(':input').first().focus();
}
})
但我不知道如何改变对下一个输入的关注,不管它是在同一个div中还是在另一个div中
<div class="answer_1">
<input class="inputs letter square border_orange" maxlength="1" type="text" />
<input class="inputs letter square border_orange" maxlength="1" type="text" />
</div>
<div class="answer_2">
<input class="inputs letter square border_orange" maxlength="1" type="text" />
<input class="inputs letter square border_orange" maxlength="1" type="text" />
</div>
Html代码如上所述,我试图在answer_1 div的输入中首先更改输入焦点,当我在这里完成第二个输入时,自动更改下一个div中输入的焦点。
有什么建议吗?我假设您将有一个
表单,因为您有输入字段
$(“输入”).keyup(函数(){
var inputs=$(this).closest('form').find(':input');
inputs.eq(inputs.index(this)+1.focus();
});代码>
可以编写代码以查看同一div中是否有任何控件。例如,可以使用以下代码
$(".inputs").keyup(function() {
if ($(this).val().length == $(this).attr('maxlength')) {
if ($(this).next().length) {
$(this).next().focus();
} else {
$(this).closest('div').next().find(':input').first().focus();
}
}
});
请参阅。您可以使用输入集合,并使用单击元素的索引遍历它:
var$inputs=$(“.inputs”);//获取输入的集合
$inputs.keyup(函数(){
var index=$inputs.index(this);//获取当前输入的索引
$inputs.eq(index+1).focus();//聚焦下一个输入
});代码>
您可以尝试以下方法:
通过设置输入的索引值来解决此问题:)
$(“.inputs”).keyup(函数(){
var thisEl=jQuery(this);
var index=parseInt(thisEl.data('index'));
if($(this.val().length==$(this).attr('maxlength')){
索引++;
jQuery('.inputs[data index=“'+index+''”]).focus();
}
});代码>
您可以使用下面的
$(“.inputs”).keyup(函数(){
if($(this).next().is(“输入”)){
警惕(“下一个孩子”);
}否则{
警报(“下一部门”);
}
});代码>