핸들러에서 false를 반환하는 것은 예외 상황이다.
이벤트 핸들러에서 반환된 값은 대개 무시된다.
하나의 예외사항이 있는데 바로 on를 사용해 할당한 핸들러에서 false를 반환하는 것이다.
이 외의 값들은 return 되어도 무시된다. true 역시 무시됨.
The preventDefault()
method of the Event
interface tells the user agent that if the event does not get explicitly handled, its default action should not be taken as it normally would be.
preventDefault() 메소드를 사용하여 기본 브라우저 이벤트가 document에 도착했을 때, event.defaultPrevented 플래그가 켜져있는지를 확인하여 기본동작을 취소시킨다.
document.querySelector("#id-checkbox").addEventListener("click", function(event) {
document.getElementById("output-box").innerHTML += "Sorry! <code>preventDefault()</code> won't let you check this!<br>";
event.preventDefault();
}, false);
<p>Please click on the checkbox control.</p>
<form>
<label for="id-checkbox">Checkbox:</label>
<input type="checkbox" id="id-checkbox"/>
</form>
<div id="output-box"></div>