Event Delegation

event delegation example

by Artem

HTML

<div id="menu">
  <button data-action="save">Сохранить</button>
  <button data-action="load">Загрузить</button>
  <button data-action="search">Поиск</button>
</div>

JavaScript

var Menu;
Menu = function(elem) {
  this.save = function() {
    console.log('saving...');
  };
  this.load = function() {
    console.log('loading...');
  };
  this.search = function() {
    console.log('searching...');
  };
  elem.addEventListener('click', (evt) => {
    this[evt.target.dataset.action]();
  });
};

new Menu(menu);