14

私が持っているのは隠されたdivです。ボタンがクリックされると、divは入力フィールドとともに下にスライドします。divが下にスライドするとすぐに、この入力フィールドをオートフォーカスにするにはどうすればよいですか?ありがとう。

<input type="text" name="comment_field" id="comment_field" placeholder="Comment..." />

私が持っているものであり、divにあります

$("#status_comments_"+a).slideDown();
    $("#comment_field").focus();

上記を使ってみましたが、うまくいきませんでした。

4

4 に答える 4

20

slideDownアニメーションが完了したときに実行されるのコールバック関数を使用できます。

$("#status_comments_"+a).slideDown(function(){
    $("#comment_field").focus();
});

IDは一意である必要があることに注意してください。そうでない場合、IDセレクターはその特定のIDを持つ最初の要素のみを選択します。input要素がdivタグ内にある場合は、次のようにコーディングすることもできます。

$("#status_comments_"+a).slideDown(function(){
    $('input', this).focus();
});
于 2012-09-15T19:21:51.673 に答える
0
 $("#divId").show().focus();

document.getElementById('divID').focus();
于 2015-06-12T18:39:53.373 に答える
-1

非表示のフィールドはフォーカスを取得できません。したがって、ボタンをクリックするだけで、それらを表示する必要があります。

$("#status_comments_"+a).show().slideDown();
    $("#comment_field").show().focus();
于 2012-09-15T19:07:05.750 に答える
-1
$("#divID").focus();

またはjQueryなし:

document.getElementById('divID').focus();
于 2015-06-12T18:36:16.013 に答える