EVENT 3

[JS Deep Dive] 40. Event Part 2

40.5) 이벤트 객체 이벤트가 발생하면 이벤트에 관련된 다양한 정보를 담고 있는 '이벤트 객체'가 동적으로 생성된다. 생성된 이벤트 객체는 이벤트 핸들러의 첫 번째 인수로 전달된다. 클릭하세요. 클릭한 곳의 좌표가 표시됩니다. 위 예제에서는 클릭 이벤트에 의해 생성된 이벤트 객체는 이벤트 핸들러의 첫 번째 인수로 전달되어 매개변수 e에 암묵적으로 할당됨을 알 수 있다. (이는 브라우저가 이벤트 핸들러를 호출할 때 이벤트 객체를 인수로 전달받기 때문이다.) 따라서 이벤트 객체를 전달받으려면 이벤트 핸들러를 정의할 때 이벤트 객체를 전달받을 매개변수를 명시적으로 선언해야 한다. ⭐️ 이벤트 핸들러 어트리뷰트 방식으로 이벤트 핸들러를 등록했다면 다음과 같이 event를 통해 이벤트 객체를 전달받을 수 있다...

[JS Deep Dive] 40. Event

40.1) Event Driven Programming 브라우저는 처리해야 할 특정 사건이 발생하면 이를 감지하여 특정한 타입의 이벤트를 발생시킨다. ex) 클릭, 키보드 입력, 마우스 이동 등 만약에 애플리케이션이 특정 타입의 이벤트에 대해 반응하여 어떤 일을 하고 싶다면 해당하는 타입의 이벤트가 발생했을 때 호출될 함수를 브라우저에게 알려서 호출을 위임하는데, 이때 '이벤트가 발생했을 때 호출될 함수'를 이벤트 핸들러(Event Handler)라고 하고, 이벤트가 발생했을 때 브라우저에게 이벤트 핸들러의 호출을 위임하는 것을 이벤트 핸들러 등록이라고 한다. 즉, 함수를 언제 호출할지 알 수 없으므로 개발자가 명시적으로 함수를 호출하는 것이 아니라 브라우저에게 함수 호출을 위임하는 것이다. Window..

Event.preventDefault() 메소드란 ?

Event 인터페이스의 preventDefault() 메소드는 어떠한 이벤트에 대한 브라우저의 기본 동작을 실행하지 않도록 해주는 역할을 한다. 예를 들어 submit 이벤트는 Form을 제출할 때 트리거(새로고침)되는데, 이런 경우에 트리거를 방지하기 위해 사용할 수 있다. 을 클릭하거나 input 필드에서 엔터 키를 눌렀을 경우에 발생하는 submit의 기본 동작인 트리거를 방지하는 코드는 다음과 같다. const loginForm = document.querySelector(".loginForm"); function onLogin(event) { event.preventDefault(); } loginForm.addEventListener("submit", onLogin);