2012-09-15 23 views
10

Tôi có một div ẩn. Khi nút được nhấp, div sẽ trượt xuống với trường nhập. Làm cách nào để làm cho trường nhập liệu này tự động lấy nét ngay khi div slide xuống? Cảm ơn.Tự động lấy nét trên trường nhập khi div trượt xuống

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

là những gì tôi có và đang trong một div

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

Tôi cố gắng để sử dụng ở trên, nhưng điều đó không làm việc.

Trả lời

14

Bạn có thể sử dụng chức năng gọi lại slideDown được thực thi khi hoạt ảnh hoàn tất.

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

Lưu ý rằng ID phải là duy nhất, nếu không trình chọn ID của bạn chỉ chọn phần tử đầu tiên có ID cụ thể đó. Nếu yếu tố đầu vào là trong thẻ div bạn cũng có thể mã:

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

trường ẩn không thể lấy tiêu điểm .. vậy những gì bạn cần làm là khi nhấp vào nút, bạn phải hiển thị chúng.

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

mà không hoạt động :( –

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

hoặc không có jQuery:

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

document.getElementById('divID').focus(); 
Các vấn đề liên quan