Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 31.07.2009, 10:08
mrValter
 
Сообщений: n/a

метод call() - ошибка (
Здравствуйте, не могу понять где возникает ошибка.
есть класс. в нем имется переменная onload
хочу запустить метод, название которого содержится в onload. FF Выдает ошибку this.onload.call() is not a function.
код примерно такой:
var net=new Object();
net.ContentLoader=function(onload)
{
this.onload=onload;
this.content();
}
net.ContentLoader.prototype.content=function()
{
this.onload.call(this);
}
function pool()
{
alert("запустилась");
}

и запускаю класс :
var one = new net.ContentLoader('pool');

Последний раз редактировалось Octane, 22.09.2009 в 21:35. Причина: используйте теги [html] и [js] для оформления кода
Ответить с цитированием
  #2 (permalink)  
Старый 31.07.2009, 10:23
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от mrValter
var one = new net.ContentLoader('pool');
pool без кавычек.
Ответить с цитированием
  #3 (permalink)  
Старый 31.07.2009, 10:28
mrValter
 
Сообщений: n/a

Нет, кавычки нужны, так как я передаю строку, а именно название метода.
Ответить с цитированием
  #4 (permalink)  
Старый 31.07.2009, 10:32
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

У строки нет метода call. На php пытаетесь писать.
Ответить с цитированием
  #5 (permalink)  
Старый 31.07.2009, 10:35
mrValter
 
Сообщений: n/a

то есть, никак нельзя запустить функцию, имя которой содержится в переменной?
Ответить с цитированием
  #6 (permalink)  
Старый 31.07.2009, 10:36
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,022

Имя функции это и есть переменная, вот её и передавайте как переменную.
Ответить с цитированием
  #7 (permalink)  
Старый 31.07.2009, 10:39
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от mrValter
то есть, никак нельзя запустить функцию, имя которой содержится в переменной?
Если функция лежит в глобальном скопе, то window[name]()
Ответить с цитированием
  #8 (permalink)  
Старый 31.07.2009, 10:40
mrValter
 
Сообщений: n/a

Сообщение от B~Vladi Посмотреть сообщение
Имя функции это и есть переменная, вот её и передавайте как переменную.
Немножко не понял, это как сделать? не могли бы вы показать на примере?
Ответить с цитированием
  #9 (permalink)  
Старый 31.07.2009, 10:47
mrValter
 
Сообщений: n/a

Сообщение от Kolyaj Посмотреть сообщение
Если функция лежит в глобальном скопе, то window[name]()
попробовал так, пишет тоже самое функция window.this.onload() не существует...
Ответить с цитированием
  #10 (permalink)  
Старый 31.07.2009, 10:50
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от mrValter
не могли бы вы показать на примере?
Сказал же, кавычки уберите.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
метод call() - ошибка ( mrValter AJAX и COMET 1 31.07.2009 10:09
Назначить на обработчик события метод обьекта Logo Общие вопросы Javascript 11 20.06.2009 22:40
То-ли лыжи не едут, толи... возможно ошибка в коде. AzriMan Общие вопросы Javascript 19 18.05.2009 15:07
Добавить свой метод к элементу alekciy Events/DOM/Window 6 16.02.2009 18:29
IE: неизвестная ошибка выполнения _Kpot_ Internet Explorer 1 03.04.2008 10:00