Как повесить разные события на кнопки (Делегирование)

в учебнике демонстрируют, как повесить разные события на несколько элементов, независимо от количества кнопок (дабы не прописывать событие на каждую индивидуально). И вот, тут событие вешают через тег 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>

Ответы (0 шт):