0

Je possède ce petit script:Javascript Mootools click event et son interlocuteur?

var moolang = new Class({ 
    initialize: function(element) { 

     this.el = $(element); 
     this.el.addEvent('click', this.popup); 

    }, 

    popup: function() 
    { 
     //this.id = the id of the element. 
    } 
}); 

Et je veux savoir « ce » dans la fonction pop-up. mais si j'essaie quelque chose comme alerte (this.el.id) il dit qu'il n'y a pas this.el:/

est-il un moyen de savoir quelle classe ajoute l'événement?

Répondre

5

Modifiez l'événement d'attachement afin que l'appelé ait le contexte approprié. Sinon, le contexte d'un écouteur d'événement sera l'élément cible.

// Change this line 
this.el.addEvent('click', this.popup); 
//To this 
this.el.addEvent('click', this.popup.bind(this)); // popup->this == this 

jsfiddle here Voir Mootools documentation. Relier le contexte d'une fonction.