Tôi đã thấy một vài câu hỏi liên quan đến các chế độ bootstrap, nhưng không có câu hỏi nào chính xác như thế này, vì vậy tôi sẽ tiếp tục.
Tôi có một phương thức mà tôi gọi là onclick như vậy ...
$(".modal-link").click(function(event){
$("#modal-content").modal('show');
});
Điều này hoạt động tốt, nhưng khi tôi hiển thị phương thức tôi muốn tập trung vào phần tử đầu vào đầu tiên ... Trong trường hợp có thể phần tử đầu vào đầu tiên có id là #photo_name.
Vì vậy, tôi đã cố gắng
$(".modal-link").click(function(event){
$("#modal-content").modal('show');
$("input#photo_name").focus();
});
Nhưng điều này là vô ích. Cuối cùng, tôi đã cố gắng ràng buộc với sự kiện 'chương trình' nhưng ngay cả như vậy, đầu vào sẽ không tập trung. Cuối cùng chỉ để thử nghiệm, vì tôi đã nghi ngờ đây là về thứ tự tải js, tôi đặt vào setTimeout chỉ để xem nếu tôi trì hoãn một giây, liệu tiêu điểm có hoạt động không, và vâng, nó hoạt động! Nhưng phương pháp này rõ ràng là tào lao. Có cách nào để có hiệu ứng tương tự như dưới đây mà không cần sử dụng setTimeout không?
$("#modal-content").on('show', function(event){
window.setTimeout(function(){
$(event.currentTarget).find('input#photo_name').first().focus()
}, 0500);
});