2010-02-09 8 views
0

HTML을 & webservice에서 동적으로로드합니다. 내가 코드를로드 한 후, 모든 것이 잘 작동 즉시동적 자바 스크립트 - onclick 보이지 않음

placeholder.update(result.Static.html); // which also include javascript code 

:

ProRegResetForm(); 
alert('reset done'); 

을하지만, 나는 오류가 오전

<a href="javascript://" onclick="javascript:ProRegResetForm();" class="au">Reset</a> 

로 선언 컨트롤에서 : 나는 프로토 타입 업데이트 방법을 사용 ProRegResetForm입니다 정의되지 않았습니다.

(도 작동하지 않습니다)

약식 테스트 코드 : 당신의 '단순화 된 테스트 코드는'당신을 실행하지 않은 점을 감안

<a href="javascript://" id="element">test link</a> 
<script type="text/javascript"> 
    functoin somethingcomplex() { 
bla bla bla 
} 

    $('element').onclick = function() { somethingcomplex(); } 

</script> 
+0

코드에 대한보다 완벽한 예를 제공 할 수 있습니까? 이 문제는 표시되지 않는 코드 섹션에서 발생할 가능성이 큽니다. 테스트 호출과 클릭 이벤트 사이에 기능에 문제가 발생했는지 알기는 어렵습니다. click 이벤트를 다른 함수 (아마도 "alert")로 변경하여 click 이벤트가 올바르게 실행되는지 확인해 보셨습니까? –

+2

당신은 onclick에서 결코 javascript :가 필요하지 않습니다. 그래도 문제는 해결되지 않습니다. –

+0

오는 스크립트에서 정의 된 모든 변수와 함수가 별도의 네임 스페이스에있는 것으로 보입니다. – st78

답변

0

같은 코드를 작성 정확했다 코드 내의 다른 곳에서 자바 스크립트 오류가 발생했을 수 있습니다. 예외 다음에 오는 Javascript 코드는 실행되지 않습니다.

파이어 버그 나 IE 개발자 툴바를 사용하여 스 니펫 (클라이언트에 나타나는대로)보다 먼저 스크립트를 검사 해 보셨습니까?

0

:

<script type="text/javascript"> 

    var defkeyword_ZipCode = 'Zip Code'; 

</script> 
<a href="javascript://" onclick="alert(defkeyword_ZipCode);">test link</a> 
0

비슷한 문제가있어서 '^'기호로 JavaScript의 HTML 응답을 구분하고이를 별도로 삽입하여 해결했습니다. 나는 당신의 주입하지 않는 동안이 작동하는지 생각할 수

//============================================================================= 
function injectJavascript(src) 
    { 
    var scripts = document.getElementById("scripts"); 
    var javascriptSrc = document.createElement("script"); 
    javascriptSrc.setAttribute("type", "text/javascript"); 
    javascriptSrc.setAttribute("language", "JavaScript1.2"); 
    javascriptSrc.innerHTML = src; 
    scripts.appendChild(javascriptSrc); 
    } 
//============================================================================= 
function insertHtmlAndScript(target) 
    { 
    if (req.readyState == 4) // 4 == "loaded" 
     { 
     if (req.status == 200) // 200 == "Ok" 
      { 
      var resp = req.responseText.split("^"); 
      div = document.getElementById(target); 
      div.innerHTML = resp[0]; 
      injectJavascript(resp[1]); 
      } 
     else 
      { 
      alert("Could not retreive URL:\n" + req.statusText); 
      } 
     } 
    } 
//====================================================================== 

유일한 이유는 자바 스크립트를 해석 대 HTML은 자바 스크립트가 제대로 결합 할 수 있도록 나사 식이다 ...하지만 그건 그냥 추측입니다.

관련 문제