부트 스트랩 모달과 관련하여 몇 가지 질문을 보았지만 정확히 이와 같은 것은 없었으므로 계속하겠습니다.
나는 onclick이라고 부르는 모달을 가지고 있습니다 ...
$(".modal-link").click(function(event){
$("#modal-content").modal('show');
});
이것은 잘 작동하지만 모달을 표시 할 때 첫 번째 입력 요소에 집중하고 싶습니다 ... 경우에 따라 첫 번째 입력 요소의 ID는 #photo_name입니다.
그래서 나는 시도했다
$(".modal-link").click(function(event){
$("#modal-content").modal('show');
$("input#photo_name").focus();
});
그러나 이것은 아무 소용이 없었다. 마지막으로 'show'이벤트에 바인딩을 시도했지만 입력에 초점이 맞지 않습니다. 마지막으로 테스트를 위해 js 로딩 순서에 대한 의심이 있었기 때문에 setTimeout을 설정하여 초를 지연시키고 포커스가 작동하는지 확인합니다. 그렇습니다. 작동합니다! 그러나이 방법은 분명히 쓰레기입니다. setTimeout을 사용하지 않고 아래와 같은 효과를 줄 수있는 방법이 있습니까?
$("#modal-content").on('show', function(event){
window.setTimeout(function(){
$(event.currentTarget).find('input#photo_name').first().focus()
}, 0500);
});