2013-03-21 4 views
1

저는 jquery 코드 버스에 조금 익숙합니다. 문서 크기를 조정 한 후에 함수 CSZ를 호출하는 방법을 알고 싶습니다.함수를 다시 호출하려면 어떻게해야합니까?

$(window).resize(CSZ); 

그냥 나를 위해 작동하지 않는 매우 간단한 개념을 것 같다 : 후, 나는 다시이 기능을 가진 코드를 호출 할 그런

$(document).ready(function CSZ() {|CODE|}); 

: 여기 내 현재 설정입니다 .

+0

당신은 범위 문제를 가지고있다. – epascarello

답변

4

자체적으로 함수를 선언하십시오. 그런 다음 두 콜백을 참조 할 수 있습니다 :

function CSZ() { 
    // Do stuff 
} 
$(document).ready(CSZ); 
$(window).resize(CSZ); 

현재 CSZnamed function expression이다. 식별자 CSZ은 범위가 이고 범위는입니다. 예제를 따라 변경하면 CSZ 함수가 선언으로이됩니다. 그런 다음 나타나는 범위 내의 모든 위치에서 사용할 수 있습니다 (및 그 자손 범위).

1

현재 코드에서 기호 CSZ은 기능 본체 자체 내에서만 액세스 할 수 있습니다. 실제로는 language feature입니다. 이 예상대로 작동하기 위해서는

은 함수 자체에 글로벌 범위에서, 다음과 같이 선언 할 필요가 :

function CSZ() {|CODE|} 

을 그리고 그것은 다음과 같이 사용할 수 있습니다

$(document).ready(CSZ); 

$(window).resize(CSZ); 
0
function CSZ() {|CODE|} 

$(document).ready(CSZ) 

$(window).resize(CSZ); 
0

문제는 선언 한 함수가 윈도우 변수로 선언되지 않는다는 것입니다.

$(document).ready(window.CSZ=function(){...}); 
$(window).resize(CSZ); 

을 또는 당신이 일반적인 패턴을 따를 수 :

이 작업을 수행 할 수

$(function(){ 
    function CSZ(){ 
     ... 
    }; 
    CSZ(); 
    $(window).resize(CSZ); 
}); 
관련 문제