изменение текущего контекста функции
Добрый всем день, в mootools если надо изменить контекст, в котором работает функция, пишется примерно такое(за синтаксис не ручаюсь):
(function (){}).bind(нужный мне контекст) В JQuery bind насколько я понял привязывает функции к событиям. А вот как бы изменить контекст, в котором работает функция? Заранее спасибо за ответ |
|
спасибо
|
пожалуйста
|
уточнение
вернее, ситуация такая:есть класс, который грузит шаблон
function Template(file_name) { this.template_data = ''; this.load_template = function() { $.get(file_name, function(data){ // не работает this.template_data = data; }); } } так понимаю, что безымянная функция в get работает не в контексте Template. Передать ей this в параметре вроде как не могу. Как бы это уладить? |
попробуйте так
function Template(file_name) {
this.template_data = '';
this.load_template = function()
{
var set_template_data=function(data){this.template_data = data;}
$.get(file_name, function(data){
// не работает
set_template_data(data);
});
}
}
PS исопльзуйте пожалуйста ББ-код для оформления исходных кодов |
Я делаю так:
function Template(file_name) {
this.template_data = '';
var that = this;
this.load_template = function() {
$.get(file_name, function(data){
// теперь работает:)
that.template_data = data;
});
}
}
|
hogart,
еще более замечательное использование замыкание. твой вариант мне больше нравится |
Re
Еще раз спасибо, таки помогло )
|
пожалуйста
|
| Часовой пояс GMT +3, время: 00:08. |