Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.12.2014, 15:31   #1
_Diez_
Пользователь
 
Регистрация: 26.08.2013
Сообщений: 11
По умолчанию Передача параметров в обработчик

Доброго времени суток, обращаюсь за подсказкой либо за ссылкой в нужную сторону.

Имеется код

Код HTML:
for(var i in this.loadFile) {
            this.loadScript({
                type: this.loadFile[i].type,
                url:  this.loadFile[i].url,
                error: function(name){
                    
                },
                load: function(name){
                    
                }
            });
        };
функция loadScript

Код HTML:
if( config.url != undefined ) {
            var scr = document.createElement("script");
            scr.src = config.url;
            if( config.type != undefined ) {
                scr.type = config.type;
            };
            if( config.load != undefined ) {
                scr.onload = config.load;
            };
            if( config.error != undefined ) {
                scr.onerror = config.error;
            };
            document.body.appendChild(scr);
        };
        return this;
в объекте this.loadFile[i] имеется свойство name
как мне в функции обработчики error и load передать name в качестве параметра
пробовал вот так

Код HTML:
for(var i in this.loadFile) {
            this.loadScript({
                type: this.loadFile[i].type,
                url:  this.loadFile[i].url,
                error: (function(name){
                    
                })(this.loadFile[i].name),
                load: function(name){
                    
                }
            });
        };
name передается все работает, но одно но, функция вызывается сразу и в качестве обработчика не выступает ни в какую(((
_Diez_ вне форума Ответить с цитированием
Старый 03.12.2014, 15:50   #2
Fenex
Форумчанин
 
Аватар для Fenex
 
Регистрация: 15.02.2012
Сообщений: 823
По умолчанию

Возможно
Код:
for(var i in this.loadFile) {
    var _this = this;
    (function(i) {
        _this.loadScript({
            type: _this.loadFile[i].type,
            url:  _this.loadFile[i].url,
            error: function() {
                //_this.loadFile[i].name
            },
            load: function() {
                //_this.loadFile[i].name
            }
        });
    })(i);
};
Цитата:
name передается все работает, но одно но, функция вызывается сразу и в качестве обработчика не выступает ни в какую(((
Так потому что вы сразу и вызываете эту функцию. Вы могли из этой функции вернуть другую функцию, тогда наверное завелось бы, вроде этого:

Код:
for(var i in this.loadFile) {
    this.loadScript({
        type: this.loadFile[i].type,
        url:  this.loadFile[i].url,
        error: (function(name){
            return function() {
//                console.log(name);
            }
        })(this.loadFile[i].name),
        load: function(name){
            
        }
    });
};
P.S. ничего не проверял, но по логике должно всё работать )
^-.-^ My GitHub

Последний раз редактировалось Fenex; 03.12.2014 в 15:57.
Fenex вне форума Ответить с цитированием
Старый 03.12.2014, 16:00   #3
_Diez_
Пользователь
 
Регистрация: 26.08.2013
Сообщений: 11
По умолчанию

Спасибо большое, попробовал все работает))
_Diez_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C# Передача параметров Тамерлан Абилов Помощь студентам 6 09.11.2014 23:05
Передача параметров _Mixer_ Общие вопросы по Java, Java SE, Kotlin 0 22.09.2011 20:17
передача параметра в обработчик событий Theoryofgames C# (си шарп) 5 12.04.2011 18:11
Передача параметров aesoem Общие вопросы Delphi 8 15.07.2008 21:51
Передача параметров Gudzon Общие вопросы Delphi 12 08.02.2007 08:19