изменение текущего контекста функции
Добрый всем день, в 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:04. |