У вас правильный подход, в вашем коде просто ошибка:
e.target.id===document.getElementById('btn1')
Сравнивает идентификатор элемента, по которому щелкнули элемент, с идентификатором btn1.
То есть он сравнивает строку с элементом .
Естественно, это всегда будет возвращать false.
Вместо этого попробуйте:
e.target===document.getElementById('btn1')
Сравнивает элемент с элементом.
Или:
e.target.id==='btn1'
Сравнивает строку со строкой.
Необязательно: Вы можете упростить свой код, используя блок switch
/ case
вместо набора if
операторов. Вот как бы я написал ваш обработчик кликов:
function doStuff(e) {
switch(e.target.id){
case 'btn1':
// Do something for btn1...
break;
case 'btn2':
// Do something for btn2...
break;
}
}
Подробнее о switch
/ case
: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/switch