|
|
@@ -3,18 +3,23 @@ function События(uuid) |
|
|
|
this.создать = function() |
|
|
|
{ |
|
|
|
this.обработчики = []; |
|
|
|
this.обработчики = {}; |
|
|
|
}; |
|
|
|
|
|
|
|
this.подписать = function(обработчик) |
|
|
|
this.подписать = function(обработчик, имя) |
|
|
|
{ |
|
|
|
this.обработчики.push(обработчик); |
|
|
|
let указатель = имя || uuid(); |
|
|
|
this.обработчики[указатель] = обработчик; |
|
|
|
}; |
|
|
|
|
|
|
|
this.отписать = function(обработчик) { |
|
|
|
var номер = this.обработчики.indexOf(обработчик); |
|
|
|
if (номер != -1) |
|
|
|
{ |
|
|
|
this.обработчики.splice(номер, 1); |
|
|
|
for (var указатель in this.обработчики) { |
|
|
|
let обр = this.обработчики[указатель]; |
|
|
|
if (обр == обработчик) |
|
|
|
{ |
|
|
|
delete this.обработчики[указатель]; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|