⊗jsPmDmHU 361 of 505 menu

JavaScript에서 이벤트 핸들러 제거하기

이번 강의에서는 우리가 이전에 요소에 연결했던 이벤트 핸들러를 제거하는 방법을 배우겠습니다. 예를 들어 다음과 같은 버튼이 주어졌다고 가정해 봅시다:

<input id="button" type="submit">

이 버튼에 func 함수를 연결해 보겠습니다:

let button = document.querySelector('#button'); button.addEventListener('click', func); function func() { console.log('!!!'); }

이제 이벤트 핸들러가 첫 번째 클릭에서만 동작하고, 그 후에는 버튼에서 제거되도록 만들어 봅시다. 이를 위해 특별한 메서드인 removeEventListener가 존재합니다. 이 메서드는 첫 번째 매개변수로 이벤트 타입을, 두 번째 매개변수로 제거해야 할 함수의 참조를 받습니다.

일반적으로, 이는 이벤트 핸들러가 연결된 방식과 동일한 방식으로 제거됨을 의미합니다. 즉, 만약 우리가 addEventListener('click', func)와 같이 연결했다면, 동일한 매개변수로 제거해야 합니다, 즉 removeEventListener('click', func)와 같이 말이죠.

자, 이제 우리가 제시한 문제를 해결해 봅시다:

let button = document.querySelector('#button'); button.addEventListener('click', func); function func() { console.log('!!!'); this.removeEventListener('click', func); }

링크와 버튼이 주어져 있습니다. 버튼을 클릭하면 링크 텍스트의 끝에, 해당 링크의 href 속성값을 괄호 안에 추가하세요. 이 추가 작업이 오직 첫 번째 클릭에서만 일어나도록 만드세요.

값이 1인 버튼이 주어져 있습니다. 이 버튼을 클릭할 때마다 그 값이 1씩 증가하도록 만드세요. 버튼의 값이 10에 도달한 후에는, 버튼이 더 이상 클릭에 반응하지 않도록 이벤트 핸들러를 제거하세요.

한국어
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақКыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부