Ho visto un paio di domande riguardo alle modali bootstrap, ma nessuna esattamente così, quindi andrò avanti.
Ho un modale che chiamo onclick in questo modo ...
$(".modal-link").click(function(event){
$("#modal-content").modal('show');
});
Funziona bene, ma quando mostro il modale voglio concentrarmi sul primo elemento di input ... In tal caso il primo elemento di input ha un ID di #photo_name.
Quindi ci ho provato
$(".modal-link").click(function(event){
$("#modal-content").modal('show');
$("input#photo_name").focus();
});
Ma questo è stato inutile. Infine, ho provato a collegarmi all'evento "show", ma anche così, l'input non si focalizzerà. Infine, solo per i test, dato che avevo il sospetto che si trattasse dell'ordine di caricamento js, ho inserito un setTimeout solo per vedere se ritardare un secondo, la messa a fuoco funzionerà e sì, funziona! Ma questo metodo è ovviamente una schifezza. C'è un modo per avere lo stesso effetto di seguito senza utilizzare un setTimeout?
$("#modal-content").on('show', function(event){
window.setTimeout(function(){
$(event.currentTarget).find('input#photo_name').first().focus()
}, 0500);
});