나는 다음 문제를 얻을 수 없습니다. 다음과 같이 변수를 정의합니다.
<script type="text/javascript">var myVar;</script>
<script type="text/javascript" src="/myScript.js"></script>
myScript.js는 다음과 같습니다.
$(document).ready(function() {
myVar = new myClass();
myVar.init();
});
다음과 같이 변수에 액세스하려고하면 :
<div onclick="myVar.activate(x);">some content</div>
모두 잘 작동하지만 내가하면
<img src="path" onload="myVar.activate(x);"/>
"myVar가 정의되지 않았습니다"라는 오류가 발생합니다. 이해가 안 돼요.
<script type="text/javascript">var myVar;</script>
some DOM Elements
<script type="text/javascript" src="/myScript.js"></script>
<script type="text/javascript">myVar.activate(x);</script>
작동하지 않습니까?!? !! 이상하지 않습니까?
* x는 서버 측에서 생성됩니다. *
$(document).ready(function(){
// this function is executed after the entire document is ready,
// and it will fire after window.onload
myVar = new myClass();
myVar.init();
});
여기서 myVar 메서드에 액세스하려고하지만 .ready()
함수가 아직 실행되지 않았으므로 myVar
로 설정되지 않았습니다 new myClass()
. 여전히 undefined
변수입니다
<script type="text/javascript">
myVar.activate(x);
// this script executes *before* the code inside your document ready function,
// so this is *before* you have set myVar = new myClass();
var_dump(myVar);
// above should output 'undefined'
</script>
당신이 정말로 필요한 경우 / 다음 설정해야 onload 속성에서이 메소드를 호출 할 myVar
에 new myClass()
다음과 같이 인라인 스크립트 :
<script type="text/javascript">
var myVar = new myClass();
myVar.init();
myVar.activate(x);
</script>
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다