2012-01-20 2 views
1

.load 함수를 사용하여 동적으로 페이지를로드하는 Wordpress 사이트를 개발했습니다.동적으로로드 된 HTML에서 JavaScript를 실행하는 jQuery

내가 작동해야하는 몇 가지 플러그인을 설치 했으므로 대체 할 수 없습니다. 내 문제는 이들 플러그인이 JavaScript에 의존한다는 것입니다 (AJAX 문의 양식 및 사진 갤러리). div#content에로드 될 때 필요한 자바 스크립트가 동적으로로드 된 콘텐츠에서 실행되지 않습니다.

정상적인 해결책은 페이지에 필요한 JavaScript를로드하는 것이지만 Wordpress를 통해 이루어 지므로 <script> 태그는 플러그인에 의해 <head>에 배치됩니다. 내가 고려한 또 다른 해결책은 jQuery의 $.getScript을 사용하는 것이지만, JS가 이미 머리 속에 있기 때문에 충돌이 발생할 수있다. 나는 정말로 다음에 어디로 가야할지 고심했다.

도움을 주신 분들께 감사드립니다.

+1

왜 당신은 .load() 메서드의 "완전한"콜백에서 플러그인 초기화 호출하지 않습니다? –

+0

@DidierGhys이 답변을 게시 한 경우 담당자에게 제공하겠다고 대답했습니다. –

답변

1

.load() 메서드의 "전체"콜백을 사용하여 추가 된 요소에 대한 플러그인을 인스턴스화하지 않는 이유는 무엇입니까?

.load(url [, data] [, complete(responseText, textStatus, XMLHttpRequest)]) 

url: A string containing the URL to which the request is sent.  
data: A map or string that is sent to the server with the request.  
complete(responseText, textStatus, XMLHttpRequest): A callback function that is executed when the request completes. 

사용은 다음과 같습니다

$('#insertIntoThis').load('url', function(data, status, xhr) { 
    // instantiate here 
    // $('#myelement').myPlugin(); 
}); 
관련 문제