私はstackoverflowのような質問がたくさんあることを知っていますが、どれも自分の問題を解決しませんでした。私は小さな "ピラミッド"単語ゲームを構築しようとしています。あなたは韓国語の正しい翻訳を見つけなければなりません。新しい単語を含む新しい入力が現れます。次の入力フィールドがポップアップ表示され、この言葉を解決するため、...focus()は入力(すべてのブラウザ)で動作しません
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()
が問題になります。
助けていただければ幸いです!
を与えることができることを望むのブラウザをご確認ください互換性http://caniuse.com/#search=focus – Rajesh
JS 'focus()'メソッドについては言及されていないようです。私はfirefox、chrome、edgeの最新バージョンを使用しています。他の例では、 '.focus()'が私のために働いていたので、私のコードで問題になっているはずです。なぜ要素に他の変更(色の変更のような)が働いていてもフォーカスがないのを確認しないでください – sojutyp
この解決策は何ですか? – Vivek