[ dalibor_zdravkovic @ 11.10.2010. 20:12 ] @
Problem je sledeci:
imate kalsu na primer:
slucaj 1:
Code:
var Example = new Class ({
    initialize : function (element) {
        element.addEvent('click', this.onClick);
    },
    onClick : function (event) {
        // u klasi mi je neophodan objkat same klase koga trenutno nemamo
        // event objekat koga imamo i on je parametar funkcije "event"
        // kao i sam objekat koji je aktivirao click event koga takodje imamo i on je "this"
    }
});

slucaj 2:
Code:
var Example = new Class ({
    initialize : function (element) {
        element.addEvent('click', this.onClick.bind(this));
    },
    onClick : function (event) {
        // u klasi mi je neophodan objkat same klase koga imamo i on je "this"
        // event objekat koga imamo i on je parametar funkcije "event"
        // kao i sam objekat koji je aktivirao click event koga nemamo
    }
});

slucaj 3:
Code:
var Example = new Class ({
    initialize : function (element) {
        element.addEvent('click', this.onClick.pass(element, this));
    },
    onClick : function (event) {
        // u klasi mi je neophodan objkat same klase koga imamo i on je "this"
        // event objekat koga nemamo a mozemo ga pribaviti kroz wondow objekat "window.event" sto ne radi u mozili
        // kao i sam objekat koji je aktivirao click event koga imamo i on je "event"
    }
});


kako da pribavim sva ova tri element u "onClick" fukciji.



[Ovu poruku je menjao dalibor_zdravkovic dana 12.10.2010. u 06:30 GMT+1]
[ Aleksandar Ružičić @ 12.10.2010. 00:32 ] @
urm... zasto ne koristis element.addEvent('click', this.onClick.bind(this));?

odavno sam radio u mootools-u i to nesto sasvim malo tako da mi je ova addClass fja nepoznanica - kada se koristi za event handling, pa mozda masim poentu...
[ dalibor_zdravkovic @ 12.10.2010. 05:30 ] @
Citat:
Aleksandar Ružičić: urm... zasto ne koristis element.addEvent('click', this.onClick.bind(this));?

odavno sam radio u mootools-u i to nesto sasvim malo tako da mi je ova addClass fja nepoznanica - kada se koristi za event handling, pa mozda masim poentu...


Moja greska treba addEvent a ne addClass
[ dalibor_zdravkovic @ 12.10.2010. 05:38 ] @
Nasao sam resenje:
Code:
var Example = new Class ({
    initialize : function (element) {
        element.addEvent('click', function (event) {
            var onClick = this.onClick.bind(this, [event, element]);
            onClick();
        }.bind(this));
    },
    onClick : function (event, element) {
        // u klasi mi je neophodan objkat same klase i to je "this"
        // event objekat koga imamo i on je parametar funkcije "event"
        // kao i sam objekat koji je aktivirao click event koga takodje imamo i on je "element"
    }
});