четверг, 15 апреля 2021 г.

Как усложнить код через группировку кода

Например, внутри одного класса можно реализовать логику "preventDefault для события onContextMenu должен случаться только когда есть подписка на onHold" через отдельный обработчик события onContextMenu и расположить его рядом с обработчиком события onHold:

setup: function(element) {
    const $element = $(element);
    eventsEngine.on($element, CONTEXTMENU this._contextMenuHandler.bind(this));

    if(touch || devices.isSimulator()) {
      eventsEngine.on($element, HOLD, this._holdHandler.bind(this));
      eventsEngine.on($element, CONTEXTMENU, (e) => {e.preventDefault();});
    }
},
_contextMenuHandler: function(e) {
      this._fireContextMenu(e);
},