2013-07-09 2 views
2

버튼 요소에 이벤트를 추가하는 데 문제가 있습니다.페이지 다시로드시 클릭 이벤트가 발생합니다.

문제 : 나는 버튼을 클릭하면 페이지를 다시로드에 이벤트 핸들러 화재하고 가정

기능.

버튼을 클릭했을 때만 발동하고 싶습니다.

가 index.html을 파일 :

이 내 코드입니다

<form id="contact_form"> 
    (Some form fields here) 
    <button id="form_submit" value="send">Send</button> 
</form> 
<script src="contact_form.js"></script> 

contact_form.js이 파일 : 디버그에 크롬을 사용

var submit_button = document.getElementById('form_submit'); 

submit_button.addEventListener("click", test_click_event()); 

function test_click_event() 
{ 
    alert("Button clicked"); 
} 

임. 함수

+1

를 필요하지 않습니다? – pattyd

+0

@pattyd 클릭 대신 onClick 이벤트를 사용하거나, HTML에서 '

+0

예, 그것이 내 뜻입니다 ... 그것은 훨씬 쉬울 것입니다. – pattyd

답변

4
submit_button.addEventListener("click", test_click_event); 

브라켓

+0

도움이되었습니다. 감사! – Kamil

1

() 괄호 호출을 제거 실행하거나 사용이 : 단지 onClick` 대신`사용하지 왜

var submit_button = document.getElementById('form_submit'); 

    submit_button.addEventListener("click", function(){test_click_event();}); 

    function test_click_event() 
    { 
     alert("Button clicked"); 
    } 

Demo

+0

JS 개발자가 이처럼 난독 화 된 구문을 사용하는 이유를 이해할 수 없습니다 ... – Kamil

+0

괄호라고 부릅니다.) – pattyd

관련 문제