evenements javascript
Posté : 18 août 2010, 09:23
Bonjour,
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:
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
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