티스토리 뷰

이벤트 핸들러

Element.addEventListner('click', function (event) {
console.log(event);
})
  • 이벤트 핸들러란 이벤트가 발생했을 때 실행되는 함수
  • 매개변수로 event 객체를 받을 수 있음
  • event.target: 이벤트가 발생한 element

 

이벤트 위임

  • event.target : 이벤트 발생한 요소
  • event.currentTarget: 이벤트 핸들러가 등록되어 있는 요소
<ul id="card-list" onclick="handleClick(event)">
<li class="movie-card" id="movieId">
     <img src="https://image.tmdb.org/t/p/w500${movie.poster_path}" alt="${movie.title}">
     <h3 class="movie-title">제목</h3>
     <p>내용</p>
     <p>Rating: 평점</p>
  </li>
</ul>

 

  • 부모 요소인 ul 태그 이벤트핸들러가 등록되어 있으면 자식 요소인 li, img, h3, p 태그 중 어떤 것을 클릭해도 부모 요소의 이벤트 핸들러가 실행된다.
  • 이벤트 위임을 잘 다루려면 event.target, event.currentTarget 의 차이를 알아야 한다.
  • 이벤트 위임이란 게 어떻게 가능하지? → “이벤트 버블링”이란 특징 때문
  • 이벤트버블링이란? 하위 요소에서 발생한 이벤트가 상위 요소로 전파되는 현상

 

 

 

 

child를 클릭했을때

 

 

 

 

 

form 태그

  • submit 이벤트 발생 시 새로고침 처리하는 기본 동작을 가지고 있음
  • event.preventDefault() 발생한 이벤트에 대한 브라우저의 기본 동작(새로고침)을 막습니다.
formElement.addEventListner('submit', function (event) {

event.preventDefault();
})

form 내부에서 input 과 button 의 동작

  • form 태그에 submit 이벤트 핸들러가 있는 경우, input에 내용 입력 후 button 클릭 또는 Enter 입력 시 submit 이벤트 핸들러가 실행된다.
  • form 안에 있는 button 태그에 type을 명시하지 않은 경우 기본 type은 submit 이며, submit이 아닌 다른 타입을 명시하면 버튼 클릭 시 submit 이벤트가 발생하지 않는다.
<form id="search-form">
    <label>영화 검색 : </label>
    <input type="text" id="search-input" placeholder="영화 제목을 검색해 보세요" />
    <button type="submit" id="search-btn">검색</button>
</form>
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2026/01   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함