mframejs
Version:
simple framework
53 lines • 2.02 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
var exported_1 = require("../utils/exported");
var DomEventHandler = (function () {
function DomEventHandler() {
this.count = 0;
this.id = [];
this.events = [];
this.target = [];
this.call = [];
this.eventHandlerBinded = this.eventHandler.bind(this);
}
DomEventHandler.prototype.listenFor = function (event, target, call) {
this.count++;
if (this.events.indexOf(event) === -1) {
this.addEventListener(event);
}
this.id.push(this.count);
this.events.push(event);
this.target.push(target);
this.call.push(call);
return this.count;
};
DomEventHandler.prototype.removeListener = function (id) {
this.id.splice(id, 1);
var event = this.events.splice(id, 1);
this.target.splice(id, 1);
this.call.splice(id, 1);
if (this.events.indexOf(event) === -1) {
this.removeEventListener(event);
}
};
DomEventHandler.prototype.addEventListener = function (event) {
exported_1.DOM.document.body.addEventListener(event, this.eventHandlerBinded, false);
};
DomEventHandler.prototype.removeEventListener = function (event) {
exported_1.DOM.document.body.removeEventListener(event, this.eventHandlerBinded, false);
};
DomEventHandler.prototype.eventHandler = function (event) {
var targetID = this.target.indexOf(event.target);
var targetEvent = this.events[targetID];
var eventID = this.events.indexOf(event.type);
if (eventID !== -1 && targetID !== -1) {
if (targetID !== -1 && targetEvent === event.type) {
this.call[targetID](event);
}
else {
}
}
};
return DomEventHandler;
}());
exports.DomEventHandler = DomEventHandler;
//# sourceMappingURL=domEventHandler.js.map