Показать сообщение отдельно
  #19 (permalink)  
Старый 16.03.2015, 12:37
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

Сообщение от Ivan_Ivanoff_24 Посмотреть сообщение
Спасибо за ответ, и если это возможно, не могли бы Вы немного подробнее описать процесс эмуляции события? Либо посоветовать какие-то материалы на эту тему.

И, пожалуйста, расскажите хотя бы вкратце, что происходит в классе Base из Вашего примера, назначение его свойств и методов.

Благодарю!
Объект Base служит как базовый класс, от которого наследуются мои объекты получая возможность слушать и генерировать события.
Он имеет 3 метода:
1) bind - подписываемся на события. Он принимает либо собыитие и обработчик, либо объект, в котором ключ - это имя события, а значение - обработчик. Пример использования:

new Base().bind("some event", function handler() {...});
  new Base().bind({
    "some event 1": function handler1() {...},
    "some event 2": function handler2() {...}
  });


2) unbind - отписываемся от событий.

var baseExtended = ... //объект с подписанными обработчиками.

   baseExtended.unbind() // снимет все обработчики со всех событий объекта

   baseExtended.unbind("event") // снимет все обработчики с именем события "event";

   baseExtended.unbind("event", handler) // снимит конкретный обработчик который равен передаваемой функции (как removeEventListener)


3) - trigger - метод который запускает события (1-й аргумент - имя события, второй массив аргуметов которые придут в функции - слушатели);

baseExtended.trigger("event", [baseExtended]) // запускаем событие "event", всем слушателям придет первым аргументом автор события
Ответить с цитированием