이벤트란 ?
- 웹페이지에서 발생하는 사용자 상호작용을 말한다.
addEventListener
- DOM 요소에 이벤트 리스너를 추가하는 가장 현대적인 방법
- 이벤트를 등록하는 가장 권장되는 방식
- 동일한 이벤트를 여러번 사용 가능
const BTN3 = document.querySelector('#btn3');
BTN3.addEventListener('click', () => (alert('버튼3')));
BTN3.addEventListener('click', test);
BTN3.removeEventListener('click', test);
function test(){
alert('test함수 알러트');
}
이벤트 객체(Event Object)
- 이벤트가 발생했을 때 해당 이벤트에 대한 정보를 포함하는 객체
- 이벤트 핸들러 함수 내부에서 사용
const BTN4 = document.querySelector('#btn4');
BTN4.addEventListener('click', e => {
console.log(e);
console.log(e.target.value);
e.target.style.color = 'red';
});
팝업창 만들기
const BTN_POPUP = document.querySelector('#popup');
BTN_POPUP.addEventListener('click', () => {
window.open('https://www.naver.com/', '', 'width=500 height=500');
});
모달창 만들기
const BTN_MODAL = document.querySelector('#btn-modal');
BTN_MODAL.addEventListener('click', toggleModalContainer)
function toggleModalContainer() {
const MODAL_CONTAINER = document.querySelector('.modal-container');
MODAL_CONTAINER.classList.toggle('display-none');
}
const MODAL_CONTAINER = document.querySelector('.modal-container');
MODAL_CONTAINER.addEventListener('click', toggleModalContainer);
const TEST = document.querySelector('.modal-item');
TEST.addEventListener('click', toggleModalContainer);
마우스 이벤트
const H1 = document.querySelector('h1');
H1.addEventListener('mousedown', e => {
e.target.style.backgroundColor = 'pink';
});
H1.addEventListener('mouseup', e => {
e.target.style.backgroundColor = '#fff';
});
H1.addEventListener('mouseenter', e => {
e.target.style.color = 'orange';
});
H1.addEventListener('mouseleave', e => {
e.target.style.color = '#000';
});