본문 바로가기

Tech/BoostCourse - WEB

[부스트코스] Browser Event, Event object, Event handler

Event

브라우저에는 많은 이벤트가 발생한다. 브라우저 화면의 크기를 마우스로 조절할 때도, 스크롤을 할 때도, 마우스로 이동하거나 무언가를 선택할때도 이벤트가 발생한다.

 

이벤트를 브라우저가 발생시켜주니, 우리는 그 때 어떤 일을 하라고 할 일을 등록할 수 있다.

 

다시 말해, HTML 엘리먼트별로 어떤 이벤트가 발생했을 때 특정 행위를 하고 싶다면, 대상 엘리먼트를 찾고 어떤 일을 등록하면 된다. 이를 자바스크립트로 구현할 수 있다.

 

 

이벤트 등록

이벤트 등록 표준방법 - addEventListener()

var el = document.getElementById("ouside");
el.addEventListener("click", function() {
//do something
}, false);

addEventListener 함수의 두 번째 인자는 함수이다. 이 함수는 나중에 이벤트가 발생할 때 실행되는 함수로 이벤트 핸들러(Event Handler) 또는 이벤트 리스너(Event Listener)라고 한다. 콜백함수는 이벤트가 발생할 때 실행된다.

 

 

이벤트 객체

브라우저는 이벤트 리스너를 호출할 때, 사용자로부터 어떤 이벤트가 발생했는지에 대한 정보를 담은 이벤트 객체를 생성해서 리스너 함수에 전달한다.

따라서 이벤트리스너 안에서는 이벤트객체를 활용해서 추가적인 작업을 할 수 있게 된다.

var el = document.getElementById("outside");
el.addEventListener("click", function(evt){
 console.log(evt.target);
 console.log(evt.target.nodeName);
}, false);

가장 많이 쓰이는 건 event.target이다.

event.target은 이벤트가 발생한 element를 가리킨다.

element도 객체이므로 안에 nodeName이나 className과 같이 element가 가진 속성을 사용할 수 있다.

innerText를 사용하면 해당 앨리먼트 안에 있는 텍스트를 읽어올 수 있다.

 

 

 

[부스트코스 관련 강의 링크]

Browser Event, Event object, Event handler - https://www.edwith.org/boostcourse-web/lecture/16700/

 

[LECTURE] 3) Browser Event, Event object, Event handler : edwith

들어가기 전에 어떤 영역을 마우스 클릭하거나, 화면을 스크롤 하거나 하는 작업에 따라서 브라우저는 반응합니다. 이런 것들은 모두 브라우저가 Event기반으로 동작되게 만들어졌기 때... - 부스트코스

www.edwith.org

 

 

 

반응형