2011-11-02 2 views
6

J'utilise le framework Dojo pour m'aider dans mon développement Javascript avec la navigation croisée DOM et la gestion des événements.
Pour ce dernier, j'espérais utiliser l'envoi d'événements personnalisés entre les objets. Mais je ne trouve rien là-dessus. J'ai lu sur abonner/publier, mais ce n'est pas exactement ce que je veux.
Voici ce que je veux faire:Envoi d'événements personnalisés avec le framework Dojo

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); 
    }; 
})(); 

Quelqu'un pourrait me aider?

Merci.

Répondre

3

je le fais normalement cette façon: (testé avec 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

Merci. Vous devez donc appeler une fonction existante en tant qu'identificateur d'événement. Je suis plus utile avec le système string + handler mais je m'en occupe. Merci encore – mrpx

Questions connexes