2017-04-05 11 views
0

나는 stackoverflow에 대한 검색을하고 그것에 대한 많은 답변을 찾았지만 모두 잘못되었습니다. 이제 먼저 요소에 데이터를 전달한 다음 height 함수를 호출해야하지만 데이터에 요소가 html 인 후에도 여전히 작동하지 않습니다.

$.ajax({ 
    url: el.attr("data-action"), 
    dataType: "html", 
    type: "GET", 
    contentType: "html", 
    success: function(data) { 
     var id = el.attr('data-modal'); 

     $("body").append("<div id='" + id + "' class='modal'><div class='modal-contents'>" + data + "</div></div>"); 

     var modal = $("#" + id); 

     contents = modal.find(".modal-contents").first(); 

     alert(contents.height()); 

     modal.addClass("visible"); 

     contents.slideDown("slow"); 

    } 
}); 

답변

1

당신은() 요소가로드 (영어 나쁜 죄송합니다) 완료 확인하기 위해 .ajaxComplete를 사용할 필요가

이 시도 :

$(document).ajaxComplete(function(event, request, settings) { 
    var modal = $('#YOUR_ID'), 
    contents = modal.find(".modal-contents").first(); 
    alert(contents.height()); 
}); 
아약스 함수 내에서
+0

또는 외부? – Olympus

+0

$ .ajax(); http://api.jquery.com/ajaxcomplete/ – LittleHoopoe

+0

시도했지만 여전히 작동하지 않습니다 – Olympus