Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   DOM-события в собственных классах без велосипедов (https://javascript.ru/forum/events/27413-dom-sobytiya-v-sobstvennykh-klassakh-bez-velosipedov.html)

egslava 12.04.2012 11:03

DOM-события в собственных классах без велосипедов
 
Привет всем. Стоит задача: необходимо реализовать класс, который бы работал с сетью. Пример: в XML приходит сообщение <msg content="Hi!">. Соответственно, должно породиться событие msg, а объектом сообщения должен быть какой-нибудь MsgEvent, у которого data = "Hi!".
Т.е. класс должен иметь метод вроде dispatchEvent, а остальные должны иметь возможность на него подписаться (addEventListener, removeEventListener, hasEventListener).
В общем, хотелось бы, чтобы мой класс обладал стандартной для DOM-объектов системой событий. Есть ли способ интеграции DOM-модели сообщений (может, добавление какого-нибудь класса в цепочку прототипов?) в собственные классы?

devote 12.04.2012 11:28

а кто вам запрещает использовать собственные события?
addEventListener( 'myevent', function(){
    alert( "executed myevent" );
}, false );

var e = document.createEvent( 'Events' );
e.initEvent( 'myevent', false, false );
dispatchEvent( e );

razerxxx 12.04.2012 14:30

если используется jquery можно:

$(document).trigger('event_name', {data: data});
$(document).on('event_name', callback)


Часовой пояс GMT +3, время: 20:43.