Por ejemplo POO en Javascript existe la herencia. Lo digo por que necesariamente si deseo hacer un Clase de tipo Event
tendria que heredar de ella, igualmente para el evento "addEventListener" mi clase desde Objeto tiene que heredar
Bueno disculpen mi falta de conocimiento
aqui estan mis classes basicas
Clase Event
function ObjectRequestEvent(_type, _isReady){
const READY_REQUEST = "READY_REQUEST";
var isReady = _isReady;
}
Objeto que dispara el Evento ObjectRequesEvent
function ObjectRequest(){
var request = new Object();
ObjectRequest.prototype.init = function(){
try{
request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch(e){
try{
request = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e){
try{
request = new XMLHttpRequest;
}
catch(e){
window.alert("support Browser!");
}
}
}
}
ObjectRequest.prototype.getRequest = function(){
ObjectRequest.dispatchEvent(new ObjectRequestEvent(ObjectRequestEvent.REQUEST_READY,true));
}
}
Objeto que implementa el objecto y agrega el escucha al evento
var object_request = new ObjectRequest();
object_request.addEventListener(ObjectRequestEvent.REQUEST_READY, handlerReadyRequest);
function handlerReadyRequest(evt){
window.alert(evt.isReady);
request = object_request.getRequest();
if(!request){
request.open("GET",url,true);
request.onreadystatechange = requestOpen;
request.send(null);
}