1

私はマリオネットビューでこの機能を持っています

onShow: function(){
            // $('#boxId').val("I am here");
            $('#boxId').focus();

        }

を使用する$('#boxId').val("I am here");とうまく機能し、要素の値はI am hereです。しかし、その要素に集中しようとしてもうまくいきません。何が問題なのですか?

私も試しました

<input type="text" class="input_txt" id="boxId" maxlength="8" onload="$('#boxId').focus()">

onShow: function(){;
             $(document).ready(function(){
                    $('#boxId').focus();

                });
        }

しかし、それもうまくいきませんでした。

最後に次で解決しました:

onShow: function(){
              setTimeout(function(){
                        $('#boxId').focus();
                    },1000);
        },
4

4 に答える 4

0

を使用する場合、要素が使用可能になる前にsetTimeout呼び出していると思い ます-あなたはあなたの上にあります。$('#boxId').focus();<script><input>

ほとんどすべての状況で、<script>body タグの直前にタグを配置する必要があります。</body>これには多くの理由があり、この種の問題を防ぐこともその 1 つです。

于 2013-11-12T18:40:07.663 に答える
0

ラベルをフォーカスすることは有効ですか? 代わりに入力を集中してみてください。正しいタイミングでフォーカスを呼び出していますか? ready または settimeout または body onload のドキュメントで試してみましたか

$(document).ready(function(){
 $('#myBox').focus();
});

  setTimeout(function(){
    $('#myBox').focus();
  },1000);

 <body onload="$('#myBox').focus();">

http://api.jquery.com/focus/

-- 準備完了のドキュメントがランダムにページに挿入され、ページの読み込み時に実行されることに注意してください。

<input type="text" id="selectMe"/>
<script>
    $(document).ready(function(){
     $('#selectMe').focus();
    });
</script>
于 2013-11-12T18:14:14.613 に答える
0

代わりにこれを使用してください:$('#boxId')[0].focus()

于 2013-11-12T18:11:15.317 に答える