focus()不能在输入(所有浏览器)中工作

时间:2017-03-22 09:43:14

标签: javascript jquery

我知道在stackoverflow上有很多问题,但没有一个问题能解决我的问题。我试图建立一个小金字塔"文字游戏。您必须为韩语单词找到正确的翻译,然后会弹出带有新单词的新输入。解决这个词,下一个输入字段会弹出,......

HTML:

<input id="ha_1" class="halter" placeholder="안녕하세요"  type="text" onblur="checkSol(id);"></input><br/>
<input id="ha_2" class="halter" placeholder="얼굴" type="text" onblur="checkSol(id);"></input><br/><br/>
<input id="ha_3" class="halter" placeholder="문" type="text" onblur="checkSol(id);"></input><br/><br/>

以下是相关的代码:

// compare if user input is correct solution
if (user_input == solution){
// if correct, display the next input field:
             $('#' + e_dies).nextAll('.halter:first').css('display', 'block');
    // ==> supposed to focus the fadedIn input
             $('#next_input').focus();
// count up to the next word
             l_count++;
// give correct/incorrect feedback
                    if(l_count == last_sol){
                            tell_me.innerHTML = 'Correct';
                        return false;
                    };
            } else if(document.getElementById(e_dies).value == "") {
            tell_me.innerHTML = '';
        }

此行$('#' + e_dies).nextAll('.halter:first').css('display', 'block');显示输入字段。紧接着,$('#next_input').focus();应该关注这个刚刚淡入的输入字段。我尝试了一些解决方案,比如使用setTimeout或将其移动到函数的末尾。没有什么对我有用。

奇怪的是,像$('#next_input').css('color', 'red');这样的其他命令工作得很好,只有.focus()会造成麻烦。

非常感谢帮助!

1 个答案:

答案 0 :(得分:0)

虽然问题似乎并不是那么明显我已经实现了一个小小提示,显示输入框焦点正在处理条件值。我希望这可以提供一些帮助

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>

function checkSol(id){
	var solution="testname";
  console.log(event);
  var user_input=event.target.value;
  if (user_input == solution){
// if correct, display the next input field:
            
    // ==> supposed to focus the fadedIn input
             $('#focusinputbox').focus();

  }
}
</script>

<input id="ha_1" class="halter" placeholder="안녕하세요"  type="text" onblur="checkSol(id);" /><br/>
<input id="ha_2" class="halter" placeholder="얼굴" type="text" onblur="checkSol(id);" /><br/><br/>
<input id="ha_3" class="halter" placeholder="문" type="text" onblur="checkSol(id);" /><br/><br/>
<input id ='focusinputbox' placeholder='inputtobefocussed'/>