M-6.0 начало
This commit is contained in:
36
6.0/общее/100.События.js
Normal file
36
6.0/общее/100.События.js
Normal file
@@ -0,0 +1,36 @@
|
||||
function События(uuid)
|
||||
{
|
||||
this.создать = function()
|
||||
{
|
||||
this.обработчики = [];
|
||||
this.обработчики = {};
|
||||
};
|
||||
|
||||
this.подписать = function(обработчик, имя)
|
||||
{
|
||||
let указатель = имя || uuid();
|
||||
this.обработчики[указатель] = обработчик;
|
||||
};
|
||||
|
||||
this.отписать = function(обработчик) {
|
||||
for (var указатель in this.обработчики) {
|
||||
let обр = this.обработчики[указатель];
|
||||
if (обр == обработчик)
|
||||
{
|
||||
delete this.обработчики[указатель];
|
||||
return;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
this.уведомить = function(событие) {
|
||||
for (var номер in this.обработчики)
|
||||
{
|
||||
var обработчик = this.обработчики[номер];
|
||||
обработчик.обработатьСобытие(событие);
|
||||
}
|
||||
};
|
||||
|
||||
// Конструктор.
|
||||
this.создать();
|
||||
}
|
||||
Reference in New Issue
Block a user