onclick, ondblclick, onmouseover, onmouseout 등 HTML 속성에 직접 함수 연결 가능addEventListener를 사용해 여러 이벤트를 등록하고, 나중에 제거도 가능element.onclick = function () {};
element.addEventListener('click', handler);
element.removeEventListener('click', handler);
e.stopPropagation()을 사용해 버블링 차단 가능element.addEventListener('click', e => {
e.stopPropagation();
});
createElement, append, setAttribute, textContent 등을 사용하여 동적으로 요소를 생성/삽입 가능const li = document.createElement('li');
li.textContent = '과일';
ul.append(li);
e.target으로 실제 클릭한 요소를 판별ul.addEventListener('click', e => {
if (!e.target.matches('li')) return;
// 클릭한 li 요소 처리
});
keyup, keydown, keypress 등 사용e.key 또는 e.code로 어떤 키를 눌렀는지 확인input.addEventListener('keyup', e => {
if (e.key === 'Enter') {
console.log('엔터 입력됨');
}
});
e.preventDefault()로 기본 이동을 막고 사용자 동작 삽입 가능a.addEventListener('click', e => {
e.preventDefault();
window.location.href = 'https://example.com';
});
src 속성을 바꿔서 이미지 교체prev, next 버튼과 썸네일을 통해 이미지 전환 가능$img.setAttribute('src', images[imgIdx]);
✅ 총정리