J'ai construit un moteur objet dom qui a des champs/méthodes privées/publiques que j'ai simplifié ci-dessous:Comment s'inscrire dynamiquement aux événements personnalisés de jquery?
function Engine(args){
this.display = args.display;
this.getDisplay = function(){return this.display;}
this.alertMsg = function(msg){
console.log(this.display);
alert(msg);
}
}
Ce que je voudrais faire est de construire un événement personnalisé qui serait déclenché après la alert(msg)
tel que $(this.display).trigger("afterAlert");
function Engine(args){
this.display = args.display;
this.getDisplay = function(){return this.display;}
this.alertMsg = function(msg){
console.log(this.display);
alert(msg);
// trigger custom event here
$(this.display).trigger("afterAlert");
}
}
Maintenant, cet événement peut être vide ou non. Comment un ou plusieurs objets déclarés plus tard s'enregistrer à l'événement "afterAlert"? Dans mon cas, les fichiers javascript supplémentaires sont chargés par le fichier principal dynamique et pourrait contenir un code ressemblant à:
function new_obj(){
bind("afterAlert", function(){
alert("alert was called");
});
}
Je ne peux pas le faire fonctionner ... est-il possible de lier après que le déclencheur a été déclaré? – karlipoppins
le déclencheur est d'appeler la fonction .... voici une autre démo quand j'ai un deuxième bouton qui attache un nouvel élément d'abonné et se déclenche à nouveau. Regarder la console ff http://pastebin.me/1d9a8ac9e8c8cd7de3cd5e71d8583c20 – redsquare
l'a eu !! Merci beaucoup! :) – karlipoppins