JavaScript는 이벤트를 제어하기 위해 사용한다.
이벤트 리스너 추가
EventTarget.addEventListener(이벤트 명, 적용 function)
//원하는 DOM 엘리먼트를 넣으면 된다.
*function의 경우 function()이라고 쓰면 페이지 로딩시 바로 호출된다.
function명만 적어줘야 이벤트 발생시 호출 된다.
event 객체
event를 다룰 function을 만들때마다 JS는 event 객체를 function에 붙인다. 이를 통해 function제어를 한다.
function handleResize(event){
console.log(event);
}
//event를 제어하기 위해 event parameter를 사용함
window.addEventListener("resize", handleResize);
이벤트 적용 예시
const title = document.querySelector('h2');
const superEventHandler = {
handleMouseOver : function(){
title.innerHTML = "The mouse is here!";
title.style.color = colors[0];
},
handleMouseOut : function(){
title.innerHTML = "The mouse is gone!";
title.style.color = colors[1];
},
handleResize : function(){
title.innerHTML = "You just resized!";
title.style.color = colors[2];
},
handleContextMenu : function(){
title.innerHTML = "That was a right click!";
title.style.color = colors[3];
}
};
title.addEventListener('mouseover', superEventHandler.handleMouseOver);
title.addEventListener('mouseout', superEventHandler.handleMouseOut);
window.addEventListener('resize', superEventHandler.handleResize);
window.addEventListener('contextmenu', superEventHandler.handleContextMenu);
*특이사항
mouseover/out : 자식영역 포함
mouseenter/leave : 자식영역 제외
참조
EventTarget.addEventListener()
EventTarget의 addEventListener() 메서드는 지정한 이벤트가 대상에 전달될 때마다 호출할 함수를 설정합니다.
developer.mozilla.org
이벤트 참조
DOM 이벤트는 발생한 흥미로운 것을 코드에 알리기 위해 전달됩니다. 각 이벤트는 Event 인터페이스를 기반으로한 객체에 의해 표현되며 발생한 것에 대한 부가적인 정보를 얻는데 사용되는 추가적인 커스텀 필드 또는 함수를 가질수도 있습니다. 이벤트는 렌더링 모델에서 기본적인 사용자 인터렉션부터 발생한 것에대한 자동 알림까지 모든 것을 나타낼 수 있습니다.
developer.mozilla.org
'JavaScript' 카테고리의 다른 글
Element.classLIst() (0) | 2020.01.30 |
---|---|
RGB와 HEX (0) | 2020.01.30 |
querySelector() (0) | 2020.01.29 |
console 객체 (0) | 2020.01.29 |
console, DOM, function (0) | 2020.01.29 |
댓글