Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Видимость функции (https://javascript.ru/forum/misc/4914-vidimost-funkcii.html)

Andres 30.08.2009 02:07

Видимость функции
 
Обнаружил проблему, которую никак не получается решить. В JS я почти новичек.
Суть вот в чем. Создаю в под YUI новый класс (фреймворк явно не при чем? а туплю я :( )
myclass = function() {
    myclass.superclass.constructor.apply(this, arguments);
    this.BuildInit();
};
YAHOO.extend(myclass, YAHOO.util.DDProxy, {
BuildInit: function(){
...
$E.addListener($('select'),'change', function(){this.sel_scheme()} )
},
sel_scheme: function(){...}
});
Событие onchange добавляется, но выдает ошибку this.sel_scheme is not a function
Подскажите плиз как это исправить.

Octane 30.08.2009 02:19

Цитата:

Сообщение от Andres
В JS я почти новичек.

Не рановато ли браться за фреймворки?

Dmitry A. Soshnikov 30.08.2009 11:33

Andres, попробуйте
var self = this;
$E.addListener($('select'),'change', function(){self.sel_scheme()} )

Andres 30.08.2009 13:34

Octane,
В самый раз. А когда по вашему пора?
Я пишу серьезный проект, но специализируюсь на php, а функционал требуется большой и без фреймворка не обойтись, так что жизнь заставляет ;)
Dmitry A. Soshnikov,
Спасибо, то что надо!!!

Dmitry A. Soshnikov 30.08.2009 17:50

Цитата:

Сообщение от Andres
Спасибо, то что надо!!!

Ок, лишь бы понимали, как и почему это работает. Почитайте на досуге:

http://javascript.ru/tutorial/object/thiskeyword
http://javascript.ru/tutorial/events


Часовой пояс GMT +3, время: 22:20.