// const tabRare = document.getElementById('Rare')
// const tabNormal = document.getElementById('Normal')
// tabRare.addEventListener('click',(e)=>{
// e.stopPropagation()
// ...
// })
// tabNormal.addEventListener('click',(e)=>{
// e.stopPropagation()
// ...
// })
wrapper.addEventListener('click',e => {
e.stopPropagation()
const targetElem = e.target
if(targetElem.id === 'Rare' | targetElem.id === 'Normal'){//tab
...
}
})
개별로 이벤트를 거는것보다 상위 부모에 이벤트 딱하나를 걸어서 e.target을 활용하는것이 더 효율적이라고한다.
즉 이벤트리스너는 최소화하는 작업이 필요하다.
하위요소가 아닌경우에는 전부 return하거나
위의 코드처럼 하위요소에 일치하는경우에만 기능을 작동시키면 좋은것같다.
반응형
'Frontend > 모던자바스크립트' 카테고리의 다른 글
공유하기, 클립보드 저장 (0) | 2022.12.15 |
---|---|
window.onload()는 쓰지말자.(feat. readyState) (0) | 2022.11.08 |
이벤트 중복호출 아무리해도 해결안될때 (0) | 2022.10.06 |
동기와 비동기(callbac, promise, async) (0) | 2022.05.29 |
Javascript class example (0) | 2022.05.17 |