32 lines
896 B
JavaScript
32 lines
896 B
JavaScript
function События()
|
|
{
|
|
this.создать = function()
|
|
{
|
|
this.обработчики = [];
|
|
};
|
|
|
|
this.подписать = function(обработчик)
|
|
{
|
|
this.обработчики.push(обработчик);
|
|
};
|
|
|
|
this.отписать = function(обработчик) {
|
|
var номер = this.обработчики.indexOf(обработчик);
|
|
if (номер != -1)
|
|
{
|
|
this.обработчики.splice(номер, 1);
|
|
}
|
|
};
|
|
|
|
this.уведомить = function(событие) {
|
|
for (var номер in this.обработчики)
|
|
{
|
|
var обработчик = this.обработчики[номер];
|
|
обработчик.обработатьСобытие(событие);
|
|
}
|
|
};
|
|
|
|
// Конструктор.
|
|
this.создать();
|
|
}
|