Widziałem kilka pytań dotyczących modów bootstrap, ale nie dokładnie tak, więc pójdę dalej.
Mam modal, który nazywam kliknięciem tak ...
$(".modal-link").click(function(event){
$("#modal-content").modal('show');
});
Działa to dobrze, ale kiedy pokazuję modal, chcę skupić się na pierwszym elemencie wejściowym ... Może pierwszy element wejściowy ma identyfikator #photo_name.
Więc próbowałem
$(".modal-link").click(function(event){
$("#modal-content").modal('show');
$("input#photo_name").focus();
});
Ale to nie pomogło. Wreszcie próbowałem powiązać zdarzenie „show”, ale mimo to dane wejściowe nie będą się koncentrować. Na koniec tylko do testowania, ponieważ miałem suspiscion, chodzi o kolejność ładowania js, ustawiłem setTimeout, aby zobaczyć, czy opóźnię sekundę, czy fokus zadziała i tak, działa! Ale ta metoda jest oczywiście bzdura. Czy jest jakiś sposób na uzyskanie takiego samego efektu jak poniżej bez użycia setTimeout?
$("#modal-content").on('show', function(event){
window.setTimeout(function(){
$(event.currentTarget).find('input#photo_name').first().focus()
}, 0500);
});