var EventMixin = { /** * Подписка на событие * Использование: * menu.on('select', function(item) { ... } */ on: function(eventName, handler) { if (!this._eventHandlers) this._eventHandlers = {}; if (!this._eventHandlers[eventName]) { this._eventHandlers[eventName] = []; } this._eventHandlers[eventName].push(handler); }, /** * Прекращение подписки * menu.off('select', handler) */ off: function(eventName, handler) { var handlers = this._eventHandlers && this._eventHandlers[eventName]; if (!handlers) return; for(var i=0; i