我知道在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()
会造成麻烦。
非常感谢帮助!
答案 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'/>