2012-10-20 2 views
1

이 코드는 f() 함수를 호출 :함수를 직접 할당 할 수없는 이유는 무엇입니까?

<p id="firstp">Hello!</p> 
<script> 
    function f() { 
    doSomething(); 
    }; 
    document.getElementById("firstp").onmouseover = function() { 
     f(); 
    }; 
</script> 

을 그러나 내가이 방법을 쓴다면, 그것은 작동을 멈 춥니 다 : 내가 직접 함수를 호출 할 때

document.getElementById("firstp").onmouseover = f(); 

왜 이벤트 핸들러에 의해 설정되지 않습니다 ?

답변

6

함수를 호출하고 싶지 않으므로 mouseover 이벤트가 발생할 때 호출해야한다는 것을 브라우저에 알리고 싶을뿐입니다. f() (함수 이름 뒤에 둥근 괄호) 함수를 호출하고 .onmouseover에 무엇을 반환합니까? f이 반환됩니다. f에 대한 참조를 .onmouseover에 할당하려는 경우, 찾고있는 것은

입니다.
관련 문제