2012-09-15 16 views
10

Ho un div nascosto. Quando si fa clic sul pulsante, il div scorre verso il basso con un campo di input. Come faccio a rendere questo campo automatico di messa a fuoco automatica non appena il div scende verso il basso? Grazie.Messa a fuoco automatica sul campo di inserimento quando div slides down

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

è quello che ho ed è in un div

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

ho cercato di utilizzare quanto sopra, ma che non ha funzionato.

risposta

14

È possibile utilizzare la funzione di callback slideDown s', che viene eseguito quando l'animazione è completa.

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

Si noti che gli ID devono essere univoci, altrimenti il ​​selettore di ID seleziona solo il primo elemento a tale specifica ID. Se l'elemento di input è all'interno del tag div è possibile anche il codice:

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

il campo nascosto non può ottenere la messa a fuoco .. quindi quello che devi fare è cliccare sul pulsante che devi mostrare.

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

che non funziona :( –

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

o senza jQuery:

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

document.getElementById('divID').focus(); 
Problemi correlati