제이쿼리 질문입니다.
본문
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;
});
답변을 작성하시기 전에 로그인 해주세요.