mframejs
Version:
simple framework
50 lines • 1.64 kB
JavaScript
import { DOM } from '../utils/exported';
export class DomEventHandler {
constructor() {
this.count = 0;
this.id = [];
this.events = [];
this.target = [];
this.call = [];
this.eventHandlerBinded = this.eventHandler.bind(this);
}
listenFor(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;
}
removeListener(id) {
this.id.splice(id, 1);
const 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);
}
}
addEventListener(event) {
DOM.document.body.addEventListener(event, this.eventHandlerBinded, false);
}
removeEventListener(event) {
DOM.document.body.removeEventListener(event, this.eventHandlerBinded, false);
}
eventHandler(event) {
const targetID = this.target.indexOf(event.target);
const targetEvent = this.events[targetID];
const eventID = this.events.indexOf(event.type);
if (eventID !== -1 && targetID !== -1) {
if (targetID !== -1 && targetEvent === event.type) {
this.call[targetID](event);
}
else {
}
}
}
}
//# sourceMappingURL=domEventHandler.js.map