2011-11-02 15 views
6

Estoy usando Dojo framework para ayudarme en mi desarrollo de Javascript con la navegación cruzada DOM manipulación y gestión de eventos.
Por esta última vez esperaba utilizar el despacho personalizado de eventos entre objetos. Pero no encuentro nada sobre esto. Leí sobre suscribirse/publicar, pero no es exactamente lo que quiero.
Esto es lo que me gustaría hacer:Despacho de eventos personalizados con Dojo framework

var myObject = new CustomObject(); 
dojo.connect(myObject, 'onCustomEvent', function(argument) { 
    console.log('custom event fired with argument : ' + argument); 
}); 


var CustomObject = (function() { 
    CustomObject = function() { 
     // Something which should look like this 
     dojo.dispatch(this, 'onCustomEvent', argument); 
    }; 
})(); 

alguien me podría ayudar?

Gracias.

Respuesta

3

normalmente hacerlo de esta manera: (probado con Dojo 1.3.2)

dojo.declare("CustomObject", null, { 
    randomFunction: function() { 
     // do some processing 

     // raise event 
     this.onCustomEvent('Random Argument'); 
    }, 

    onCustomEvent: function(arg) { 
    } 
}); 

var myObject = new CustomObject(); 
dojo.connect(myObject, 'onCustomEvent', function(argument) { 
    console.log('custom event fired with argument : ' + argument); 
}); 


// invoke the function which will raise the custom event 
myObject.randomFunction(); 
+0

Gracias. Entonces debe llamar a una función existente como un identificador de evento. Estoy más de uso con el sistema de cadena + controlador pero me ocuparé de ello. Gracias de nuevo – mrpx

Cuestiones relacionadas