Использование Jquery для разрешения событий на обычных JS объектах

У меня есть несколько javaScript-классов (ctor+prototype methods), которые я хочу, чтобы их экземпляры могли испускать события.

чтобы код, использующий этот класс, мог выглядеть примерно так:

var instance=new SomeObject();
instance.on('customEventName',function(event){do_stuff()}

Я работаю в среде JQUery и для элементов пользовательского интерфейса использую .trigger и .on, что отлично работает для меня, я задался вопросом, как лучше всего реализовать то же самое в отношении обычных объектов.

Я думаю либо создать карту объектов $.Callbacks() на основе имени пользовательского события, и добавить .on и .trigger к прототипу объекта. Или я могу просто держать переменную экземпляра eventsPoint, инициализированную пустым $() и подключить методы .on и .trigger из прототипа к этому объекту eventsPoint.

Любые другие / лучшие идеи?

7
задан epeleg 2 February 2012 в 09:29
поделиться