Javascript Mootools щелкните событие и его вызывающий? - PullRequest
0 голосов
/ 01 декабря 2010

У меня есть этот маленький скрипт:

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

И я хочу знать «это» во всплывающей функции.но если я попробую что-то вроде alert (this.el.id), он скажет, что this.el отсутствует: /

есть ли способ узнать, какой класс добавляет событие?

1 Ответ

5 голосов
/ 01 декабря 2010

Измените событие присоединения, чтобы вызываемый имел правильный контекст.В противном случае контекст приемника событий будет целевым элементом.

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

jsfiddle здесь См. Mootools документация .Привязка контекста функции.

...