2017-03-22 7 views
0

私は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()が問題になります。

助けていただければ幸いです!

+0

を与えることができることを望むのブラウザをご確認ください互換性http://caniuse.com/#search=focus – Rajesh

+0

JS 'focus()'メソッドについては言及されていないようです。私はfirefox、chrome、edgeの最新バージョンを使用しています。他の例では、 '.focus()'が私のために働いていたので、私のコードで問題になっているはずです。なぜ要素に他の変更(色の変更のような)が働いていてもフォーカスがないのを確認しないでください – sojutyp

+0

この解決策は何ですか? – Vivek

答えて

0

質問は条件付きvalue.Iに取り組んで焦点を合わせることが明らかに、私は、入力ボックスを示す小さなバイオリンを実装していないしているようだけど、これはいくつかの助けに

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

 
function checkSol(id){ 
 
\t 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'/>

+0

あなたのスクリプト**殺された**私のブラウザの*タブ* – Arvind

関連する問題