Как повесить разные события на кнопки (Делегирование)
в учебнике демонстрируют, как повесить разные события на несколько элементов, независимо от количества кнопок (дабы не прописывать событие на каждую индивидуально). И вот, тут событие вешают через тег data-action. Но что, если мне удобнее по классам находить объекты? Я пытался вместо "event.target.dataset.action;" прописывать путь к классу document.querySelector('.class'); Но видимо это так не работает. Хелп!
<div id="menu">
<button data-action="save">Сохранить</button>
<button data-action="load">Загрузить</button>
<button data-action="search">Поиск</button>
</div>
<script>
class Menu {
constructor(elem) {
this._elem = elem;
elem.onclick = this.onClick.bind(this); // (*)
}
save() {
alert('сохраняю');
}
load() {
alert('загружаю');
}
search() {
alert('ищу');
}
onClick(event) {
let action = event.target.dataset.action;
if (action) {
this[action]();
}
}
}
new Menu(menu);
</script>