Я использую прототип 1.7 и создаю класс, который будет по существу принимать список элементов div и создает интерфейс вкладок.
var tabs = Class.create({
initialize: function(container, options) {
this.options = Object.extend({
// additional options
tabsRendered: null,
}, options || {});
// init code
if( this.options.tabsRendered ) {
this.options.tabsRendered();
}
},
// additional methods
setCurrent: function(link){
//adds a .current class to tab clicked and its corresponding section
}
};
new vtabs( 'products', {
tabsRendered: function(){
if( window.location.hash != "" ) {
var link = $$( 'a[href$="' + window.location.hash + '"]');
this.setCurrent(link);
}
}
});
Мой вопрос касается моего tabsRendered настраиваемого обратного вызова,Когда выполняется обратный вызов, this.setCurrent(link)
ничего не делает.
Если я передам this в обратный вызов, мой пользовательский обратный вызов будет работать как положено.
if( this.options.tabsRendered ) {
this.options.tabsRendered(this);
}
Я предполагаю, что передача этого вобратный вызов не лучшая практика.Итак, как мне разрешить доступ к методу из обратного вызова?
Спасибо