2012-09-15 1 views
10

나는 숨겨진 div입니다. 버튼을 클릭하면 div가 입력 필드로 슬라이드됩니다. div가 아래로 내려가 자마자이 입력란에 자동 초점을 설정하려면 어떻게합니까? 감사.div가 슬라이드 할 때 입력 필드의 자동 초점

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

내가 무엇을 내가 위를 사용하려고 사업부

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

에, 그러나 그것은 작동하지 않았다.

답변

14

애니메이션이 완료 될 때 실행되는 slideDown의 콜백 기능을 사용할 수 있습니다.

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

ID는 고유해야하며, 그렇지 않으면 ID 선택기는 해당 ID가있는 첫 번째 요소 만 선택합니다. 입력 요소는 div 태그 내에있는 경우 당신은 또한 코드 수 :

$("#status_comments_"+a).slideDown(function(){ 
    $('input', this).focus(); 
}); 
-1

숨겨진 필드는 포커스를 얻을 수 없습니다. 그래서해야 할 일은 표시해야 할 버튼을 클릭하는 것입니다.

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

작동하지 않습니다 :( –

-1
$("#divID").focus(); 

또는 jQuery를하지 않고는 :

document.getElementById('divID').focus(); 
0
$("#divId").show().focus(); 

document.getElementById('divID').focus(); 
관련 문제