Je travaille dans une classe javascript assez complexe, je vais essayer de ne montrer que l'essentiel pour ma question.
La classe en question définit une liste d'événements comme ceci:
this.events = {
// handlers for sound events as they're started/stopped/played
play: function() {
pl.removeClass(this._360data.oUIBox,this._360data.className);
this._360data.className = pl.css.sPlaying;
pl.addClass(this._360data.oUIBox,this._360data.className);
self.fanOut(this);
},
stop: function() {
pl.removeClass(this._360data.oUIBox,this._360data.className);
this._360data.className = '';
self.fanIn(this);
},
pause: function() {
pl.removeClass(this._360data.oUIBox,this._360data.className);
this._360data.className = pl.css.sPaused;
pl.addClass(this._360data.oUIBox,this._360data.className);
},
resume: function() {
pl.removeClass(this._360data.oUIBox,this._360data.className);
this._360data.className = pl.css.sPlaying;
pl.addClass(this._360data.oUIBox,this._360data.className);
},
finish: function() {
pl.removeClass(this._360data.oUIBox,this._360data.className);
this._360data.className = '';
// self.clearCanvas(this._360data.oCanvas);
this._360data.didFinish = true; // so fan draws full circle
self.fanIn(this);
if (pl.config.playNext) {
var nextLink = (pl.indexByURL[this._360data.oLink.href]+1);
if (nextLink<pl.links.length) {
pl.handleClick({'target':pl.links[nextLink]});
}
}
},
Ces événements se déclenchent quand on clique sur un bouton et ça fonctionne très bien.Après avoir créé un objet à partir de cette classe, lorsqu'on clique sur le bouton, la fonction de l'événement déclenché s'affiche
Exemple:
alert(MonObjet.events.pause);
m'affiche bien la fonction qui a été exécutée:
function() {
pl.removeClass(this._360data.oUIBox,this._360data.className);
this._360data.className = pl.css.sPaused;
pl.addClass(this._360data.oUIBox,this._360data.className);
}
Ma question: comment détecter le nom de l'événement qui a été déclenché, au lieu d'en afficher la fonction?
En gros, comment savoir si l'événement est play, stop, finish...
Merci pour vos réponses