When I'm creating a web page, a confused happened to me, I noted that there are many elements waiting for clicking, so I want to ask:
which practice is better for the performance?
adding event listener for the document then check the class or id for the element I clicked:
document.addEventListener('click', e => {
let element = e.target.id;
if(element === navbarBtn) /* do something */;
if(element === goUpBtn) /* do something */;
if(element === darkModeSwitcherBtn) /* do something */;
})
OR
adding event listener for each element I will click:
navbarBtn.addEventListener('click', () => {
// doing something
})
goUpBtn.addEventListener('click', () => {
// doing something
})
darkModeSwitcherBtn.addEventListener('click', () => {
// doing something
})