2010-07-02 2 views
5
$(document).ready(SetupButtonClicks()); 

function SetupButtonClicks() { 
    $('#btnJavaPHP').click(DoPHPStuff()); 
} 

function DoPHPStuff() { 
    //stuff 
} 

자바 스크립트 파일에이 코드가 있는데, 디버그 할 때 코드를 SetupButtonClicks()과 같이 호출해야합니다. 그 후에는 DoPHPStuff()을 호출해야합니다. DoPHPStuff()btnJavaPHP을 클릭 할 때만 호출해야합니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?이 자바 스크립트 함수가 호출되지 않고 실행되는 이유는 무엇입니까?

답변

17

변경하여 SetupButtonClicks 기능 :

$('#btnJavaPHP').click(DoHPStuff); 

당신은 당신이하지 사용 "클릭"핸들러로을에, 전화 함수에 자바 스크립트를 이야기하고, 코딩있어 방법. 괄호는 함수가 호출되도록 연산자입니다.

+0

감사합니다, 그것을 해결했습니다. – jamone

+2

@jamone 당신은 $ (document) .ready입니다. 아마도 여전히 틀렸을 것입니다. – galambalazs

+0

@galambalazs 그래, 나는 $ (document) .ready 행을 동시에 수정했다. 감사 – jamone

3

()를 제거합니다. $(document).ready(SetupButtonClicks())를 작성하여

, 당신은 SetupButtonClicks를 호출하고 ready에 반환 값을 전달합니다.
마찬가지로 $('#btnJavaPHP').click(DoPHPStuff())을 작성하여 ()으로 전화를 걸어DoPHPStuff (즉시)을 찾아 click()으로 반환하십시오.

당신은 $(document).ready(SetupButtonClicks)$('#btnJavaPHP').click(DoPHPStuff)를 작성하여 기능 자체를 전달해야합니다.

3
function DoPHPStuff() { 
    //stuff 
} 

function SetupButtonClicks() { 
    $('#btnJavaPHP').click(DoPHPStuff); 
} 

$(document).ready(SetupButtonClicks);  
2

함수 선언을 제외하고 함수 식별자 뒤에 나오는 괄호 쌍은 함수를 실행합니다. 예 :

// function declaration; function not executed 
function SetupButtonClicks() { 

} 

// function executed 
SetupButtonClicks(); 

// function not executed 
SetupButtonClicks; 
관련 문제