본문 바로가기
개발공부_Blog/JavaScript

javascript - addEventListener, removeEventListener

by 독서개발자 2021. 12. 19.

  이벤트 설정하기  

문서객체.addEventListener( 이벤트명, 콜백함수=이벤트핸들러 )

   h1.addEventListener( 'click', ()=>{
      추가할 이벤트 내용ㅇㅇㅇㅇㅇㅇ
   })

  이벤트 제거하기  

문서객체.removeEventListener( 이벤트명, 콜백함수=이벤트핸들러 )
 
  h1.removeEventListener( 'click', ()=>{
      제거할 내용 / 변경할 내용ㅇㅇㅇㅇㅇ
   })

 

 

<script>
document.addEventListener('DOMContentLoaded',()=>{
  let counter = 0
  const h1= document.querySelector('h1')

  h1.addEventListener('click',(event)=>{
    counter ++
    h1.textContent = `클릭 횟수 :${counter}`
  })
})
</script>

<body>
<hr></hr>
<h1> 클릭 횟수 : 0 </h1>
<hr></hr>
</body>

coount의 초기화값으로 =0을 넣어준 뒤, 

클릭이벤트가 실행되면 count++로 1씩 증가하게 하는 event를 생성한다

그 뒤에는 h1태그애 count를 추가해준다

 

==> 클릭할 때마다 h1의 클릭횟수가 1씩 증가한다

 

 

 

 

<script>
document.addEventListener('DOMContentLoaded',()=>{
  let counter = 0
  let isConnect = false
  // 한꺼번에 event가 실행되지 않게 조건을 걸어줄 ...;; 준비같은...

  const h1 = document.querySelector('h1')
  const p = document.querySelector('p')
  const connectButton = document.querySelector('#connect')
  const disconnectButton = document.querySelector('#disconnect')

  const listener = (event)=> {
    h1.textContent= `클릭 횟수 : ${counter++}`
  }   // listener 변수에 
      // h1을 눌렀을 때, count가 올라가는 함수를 담아둔다


  connectButton.addEventListener('click',()=>{  // 이벤트연결 버튼을눌렀을 때,
    if(isConnect === false){                    
      h1.addEventListener('click', listener)    // h1에 listener함수 연결됨   
      p.textContent='이벤트 연결 상태 : 연결'   // p에 연결 글자 추가
      isConnect = true 
    }
  })

  disconnectButton.addEventListener('click',()=>{ // 이벤트연결 버튼을눌렀을 때,
    if(isConnect === true){
      h1.removeEventListener('click', listener)   // h1에 event제거 + listener함수도 제거   
      h1.textContent=  '클릭 횟수 : 0'            // 0 으로 초기화 text추가
      p.textContent = '이벤트 연결 상태 : 해제'   // 해제 text도 추가 
      isConnect = false
    }
  })
})
</script>

<style>
  h1{user-select: none;}
</style>

<body>
<hr></hr>
<h1> 클릭 횟수 : 0 </h1>
<button id="connect">이벤트연결</button>
<button id="disconnect">이벤트해제</button>
<p>이벤트 연결 상태: 해제</p>
</body>

이벤트 연결 버튼을 누르고 h1의 클릭횟수를 누르면 conter가 증가하고

아래 연결 상태의 문구가 '연결'로 바뀐다

 

이벤트 해제 버튼을 누르면 h1의 클릿횟수는 0으로 초기화되고 

이벤트 연결 상태의 문구가 '해제'로 바뀐다

댓글