2012-11-04 2 views
1

WP 설치에서 AJAX 로더를 사용하고 있으며로드중인 페이지 중 하나에 스크립트가 있습니다.AJAX에서 스크립트 강제 실행로드 됨 페이지

<div id="register-form"> 
    <div id="register-one"></div> 
    <div style="text-align:center;padding-top:10px;"></div> 
    <div class="horizontal-rule"></div> 
    <div id='register'> 
     <div id="register-character"> 
     </div> 
    </div> 

    <div class="post"> 
     <form action="" method="post" id="register-form" > 
     What's your Name: 
      <input class=in id='register_name' name="register_name" onkeydown='register_step1_keydown();' onkeyup='register_step1_keyup();'> 
      <input class="next-submit-button" type="submit" id="register-step-one" value="" /> 
      <input type="hidden" name="submit" /> 
     </form> 
    </div> 
</div> 

<script type="text/javascript"> 

$("#register-step-one").click(function() { 
    $.ajax({ 
     type: "POST", 
     success: function() { 
     $('#register-form').html("Test"); 
     } 
    }); 
    return false; 
}); 

</script> 

그러나 AJAX를 통해 페이지를로드하면 문제가 발생하지만 스크립트가 작동하지 않습니다. 그러나 페이지를 새로 고침하면 스크립트가 작동합니다. 분명히 스크립트는 AJAX 호출에서 실행하는 것을 좋아하지 않습니다.

AJAX 호출을 통해 스크립트를로드 할 때 스크립트를 작동시키는 방법이 있습니까? 스크립트를 메인 페이지의 꼬리말 등에 넣을 수는 있지만 메인 페이지에 수 많은 스크립트가 끝나기를 바랄 수 있으면 좋겠다. 아무것도, 당신은 당신이 그 요소 또한

에 뭔가를하기 전에 모든 DOM 요소가로드되도록하기 위해 .ready()에 기능을 포장해야하기 전에

+0

http://stackoverflow.com/questions/12359763/ajax-loaded-content-script-is-not-executing –

답변

2

, jQuery를에 아약스 기능을 통해 반환 된 HTML 내에서 스크립트는 실행 DOM에 HTML이 추가 된 경우에만. 코드가 포함 된 html을 추가하지 않았으므로 반환 된 내용의 스크립트는 실행되지 않습니다.

아래 .ajax() 함수의 매개 변수를 살펴 보자 dataType

dataType와 :

...

"HTML"일반 텍스트로 HTML을 반환; 포함 된 스크립트 태그는 DOM에 삽입 될 때 으로 평가됩니다.

...

+0

를 살펴 보자 나는이 대답을 잘 모르겠어요 내 질문? 해당 페이지의 스크립트는 URL 표시 줄을 통해로드 될 때 정상적으로 작동하지만 기본 페이지의 탐색 모음에서 AJAX 요청을 통해 페이지가로드되는 경우에는 작동하지 않습니다. – Tenatious

+0

@ 당신의 콘솔을 잘 살펴보십시오. 그리고 내가 말했듯이, Ajax의 HTML이 페이지에 추가되지 않으면로드 된 HTML의 스크립트가 작동하지 않습니다. 또한 전체 페이지를로드하는 중입니다. * 다른 스크립트를 사용하면 다른 사람이 실행되지 않을 수도 있습니다. – Joseph

관련 문제