2009-12-24 6 views
1

그래,이게 나를 죽이고. jquery가있는 외부 페이지를로드하고 있습니다.jquery/ajax를 사용하여 외부 페이지로드 - 외부 페이지의 jquery 스크립트로드 중

var response = $.ajax({ 
    url: "example.php", 
    dataType: "html", 
    async: false, 
}); 
$("#content2").empty().prepend(response.responseText); 

이 부분은 완벽하게 작동합니다.

는 지금은 문제가 ... II는 새로운 콘텐츠와 상호 작용하려면 나는 그것이 작동하기위한 작업에 새로운 요소를 결합해야한다는 것을

$(".example").live("click",function(event){ 
    //do something 
}): 

을 알고 있지만 내용이 로드 중입니다. 양식 유효성 검사가 많이 포함 된 여러 .js 파일이 있습니다.

모든 외부 콘텐츠를이 외부 .js 파일에 바인딩하는 방법이 있습니까?

답변

3

AJAX를 통한 JavaScript 포함시 해당 스크립트는 eval '이어야합니다. 이를 수행하는 더 좋은 방법은 $.getScript을 참조하십시오.

예를 들어 AJAX 요청과 관련하여 원격 요청이 지속되는 동안 브라우저가 정지하므로 동기 요청을하지 않도록주의하십시오. 대신 비동기 요청을 사용하고 콜백을 통해 응답을 처리하십시오.

$.ajax({ 
    url: "example.php", 
    dataType: "html", 
    success: function(response) { 
     $("#content2").html(response.responseText); 
    } 
}); 
+0

글쎄, 비동기 요청은 다단계 양식이므로 비동기 : false를 사용하고있었습니다. 양식은 어떤 조치를 취할 지 결정하기 전에 응답을 기다려야합니다. 이것을 기본 방법으로 시도하면 if 문이 제대로 실행되지 않습니다 (응답을 받기 전에 실행되기 때문에 추측됩니다). 예, $ .getScript를 사용하여 시도했지만 js 파일을 호출해야하는 시점이 확실하지 않습니다. 내가 할 수있는 모든 방법으로 새 ​​콘텐츠를 외부 js에 바인딩하지 않습니다 – Joshua

+0

내가 더 잘 도와 줄 수 있도록 코드를 더 많이 노출 시켰습니까? –

관련 문제