Saya telah melihat beberapa pertanyaan terkait dengan bootstrap modals, tetapi tidak ada yang persis seperti ini, jadi saya akan melanjutkan.
Saya memiliki modal yang saya sebut onclick seperti ...
$(".modal-link").click(function(event){
$("#modal-content").modal('show');
});
Ini berfungsi dengan baik, tetapi ketika saya menunjukkan modal saya ingin fokus pada elemen input pertama ... Mungkin elemen input pertama memiliki id #photo_name.
Jadi saya mencoba
$(".modal-link").click(function(event){
$("#modal-content").modal('show');
$("input#photo_name").focus();
});
Tetapi ini tidak berhasil. Terakhir, saya mencoba mengikat ke acara 'show' tetapi meskipun begitu, input tidak akan fokus. Terakhir hanya untuk pengujian, karena saya curiga ini adalah tentang urutan pemuatan js, saya memasukkan setTimeout hanya untuk melihat apakah saya menunda sebentar, apakah fokus akan bekerja, dan ya, itu berhasil! Tetapi metode ini jelas omong kosong. Apakah ada cara untuk memiliki efek yang sama seperti di bawah ini tanpa menggunakan setTimeout?
$("#modal-content").on('show', function(event){
window.setTimeout(function(){
$(event.currentTarget).find('input#photo_name').first().focus()
}, 0500);
});