Eu já vi algumas perguntas em relação aos modais de autoinicialização, mas nenhuma exatamente como essa, então vou adiante.
Eu tenho um modal que eu chamo de onclick assim ...
$(".modal-link").click(function(event){
$("#modal-content").modal('show');
});
Isso funciona bem, mas quando eu mostro o modal, quero focar no primeiro elemento de entrada ... Nesse caso, o primeiro elemento de entrada tem um ID de #photo_name.
Então eu tentei
$(".modal-link").click(function(event){
$("#modal-content").modal('show');
$("input#photo_name").focus();
});
Mas isso não adiantou. Por fim, tentei vincular o evento 'show', mas, mesmo assim, a entrada não será focada. Por fim, apenas para teste, como eu suspeitava que fosse sobre a ordem de carregamento do js, coloquei um setTimeout apenas para ver se eu atraso um segundo, o foco funcionará e, sim, funciona! Mas esse método é obviamente uma porcaria. Existe alguma maneira de ter o mesmo efeito que abaixo sem usar um setTimeout?
$("#modal-content").on('show', function(event){
window.setTimeout(function(){
$(event.currentTarget).find('input#photo_name').first().focus()
}, 0500);
});