2014-12-02 3 views
0

나는 내 웹 사이트에 severals의 부트 스트랩의 조동사가로드 부트 스트랩 모달 - 대화의 전 부하 기다린 나는이처럼 그들을로드하는 방법 :JQuery와 .load() 함수

function modal_density(){ 
    $("#modal-content").load("pages/modals/density_control.php"); 
    $('#all_modal').modal('show'); 
} 

그럼 난 닫습니다

function close_modal(){ 
    $("#modal-content").empty(); 
    $('#all_modal').modal('hide'); 
} 

내가 내 모달의 입력에 초점을 넣어 싶지만 그렇게 할 때 내가 모달가 완전히로드되지 않았 음을 생각 :

function modal_density(){ 
    $("#modal-content").load("pages/modals/density_control.php"); 
    $('#all_modal').modal('show'); 
    $("#element").focus();//<----Added part 
} 
,617을이처럼

내 요소가 모두로드 될 때까지 기다리는 방법은 무엇입니까?


는 는

[편집] :이 tryed 그것은 작동하지 않습니다

function modal_controle_densite_valid(){ 
    $("#modal-content").load("pages/modals/controle_densite_validation.php", function() { 
     $('#all_modal').modal('show'); 
     $("#codebarre").focus(); 
    }); 
} 

을하지만 다음 코드는 2 초 후 작동 :

function modal_controle_densite_valid(){ 
    $("#modal-content").load("pages/modals/controle_densite_validation.php", function() { 
     $('#all_modal').modal('show'); 
     setTimeout(function() {$("#codebarre").focus()}, 2000); 
     //$("#codebarre").focus(); 
    }); 
} 

답변

1

load() 메소드에는 AJAX 요청이 완료 될 때 실행되어야하는 함수를 제공 할 수있는 두 번째 매개 변수가 있습니다. 이것을 시도하십시오 :

function modal_density(){ 
    $("#modal-content").load("pages/modals/density_control.php", function() { 
     $('#all_modal').modal('show').on('shown', function() { 
      $("#codebarre").focus(); 
     }); 
    }); 
} 
+0

작동하지 않습니다. 나는 이해하지 못한다. 자동 초점을 제거하고 기능을 사용했지만 초점이 작동하지 않습니다. 하지만 modal with .modal ("show")이 실행된다는 것을 알 수 있습니다. – Gauthier

+0

콘솔에 오류가 있습니까? –

+0

콘솔에 오류가 없습니다. 내 게시물에 뭔가를 추가해보세요. – Gauthier

1

JQuery와 load 콜백 소요 로드가 완료된 후 실행될 것입니다.

$("#modal-content").load("pages/modals/density_control.php",function(){ 
    $("#element").focus(); 
});