п.1
//устанавливаем обработчик на родителя всех элементов, для которых нужно слушать события
document.querySelector('#container').addEventListener('change',function(e){
if(!e.target.classList.contains('target'))//Если элемент, на котором произошло событие не имеет класса target, то ничего не делаем
return;
const that=e.target;//Элемент, на котором произошло событие
});