제이쿼리 질문입니다.

제이쿼리 질문입니다.

QA

제이쿼리 질문입니다.

답변 2

본문

a링크의 onclick를 사용하다가 궁금한점이 생겨서요.

스크립트내에서 함수선언을 한것은 잘되는데

 

제이쿼리의 $(function() {})를 써서 안에서 함수 선언한것은 정의되지 않았다고 하는데

이해가 안됩니다.

 

기본적으로 제가 알고있는 지식으로는

$(function() {}) 은 html 랜더링 시에 dom이 완전히 생성된 후에 실행이 되는걸로 알고있는데

그렇다면 a가 생성된 후인데 왜 onclick는 안먹는지 이해가 되지를 않습니다.

 

 

 


<a href='#' onclick="test();">............</a>
 
<script>
function test() {
 console.log(1); // 잘됨
}
 
$(function() {
   function test() {
     console.log(1);  //  에러 :: test is not defined
   }
});
</script>

 

이 질문에 댓글 쓰기 :

답변 2

다음 처럼 해 보시죠.

<script>
$(function() {
   this.test = function() {
     console.log(1);  //  에러 :: test is not defined
   }
});
</script>

$(......)<---이것도 하나의 함수 입니다

함수내에 선언된 함수를 바로 호출할 수 없습니다

함수내에 전역변수처럼 함수변수를 하나 만들어주면 됩니다

$(function(){

  function mytest(){

      ~~~~~~~

  }

 test = mytest;

});

 

 

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 123,680
© SIRSOFT
현재 페이지 제일 처음으로