Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.02.2012, 13:54
Новичок на форуме
Отправить личное сообщение для StKorf Посмотреть профиль Найти все сообщения от StKorf
 
Регистрация: 14.02.2012
Сообщений: 3

функция не отрабатывается без alert
Использую на странице jqgrid
в опере и хроме отражается нормально. в фаерфоксе ругается (фаербаг)
Код:
jQuery("#bigset").jqGrid is not a function
(?)()/monit...events/ (строка 290)
F()jquery.js (строка 19)
$()jquery.js (строка 12)
G = [function(), function()]
K = function()
F = undefined
F()jquery.js (строка 19)
F()jquery.js (строка 19)
[Прерывать на этой ошибке]
НО! как ни странно, если втолкнуть алерт перед вызовом функции то все работает...
т.е. так не работает
$(document).ready(function(){
             jQuery("#bigset").jqGrid({


а если так, то все отображается

$(document).ready(function(){
						alert('f');
             jQuery("#bigset").jqGrid({


подскажите, где я баран?)
да, сетТаймаут ставил, делей ставил, просто вывод чего-то на страницу ставил. работает только если поставить алерт.
но алерт как бы в страницу не вписывается... как можно эту проблему решить?
Ответить с цитированием
  #2 (permalink)  
Старый 14.02.2012, 14:37
Server
Отправить личное сообщение для Rootpassword Посмотреть профиль Найти все сообщения от Rootpassword
 
Регистрация: 26.09.2011
Сообщений: 252

Алерт у вас останавливает выполнение скрипта , за это время,судя по всему, загрузится что-то, к чему вы обращаетесь. Без алерта у вас на момент обращения что-то не определено, с соответствующими последствиями.

Последний раз редактировалось Rootpassword, 14.02.2012 в 15:07.
Ответить с цитированием
  #3 (permalink)  
Старый 14.02.2012, 14:41
Новичок на форуме
Отправить личное сообщение для StKorf Посмотреть профиль Найти все сообщения от StKorf
 
Регистрация: 14.02.2012
Сообщений: 3

а как это тогда решить?
setTimeout(jQuery("#bigset").jqGrid({****}),2000);
пробывал. ставил даже до 10 секунд. как бы 0 реакции...
Ответить с цитированием
  #4 (permalink)  
Старый 14.02.2012, 14:53
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от StKorf Посмотреть сообщение
а как это тогда решить?
setTimeout(jQuery("#bigset").jqGrid({****}),2000);
пробывал. ставил даже до 10 секунд. как бы 0 реакции...
ну дык и будет ноль реакции, нужно то ставить так:
setTimeout(function(){
    jQuery("#bigset").jqGrid({****});
}, 2000);

А в идеале лучше посмотрите порядок загрузки скриптов, что-то у вас загружается позже чем надо.
Ответить с цитированием
  #5 (permalink)  
Старый 14.02.2012, 15:09
Server
Отправить личное сообщение для Rootpassword Посмотреть профиль Найти все сообщения от Rootpassword
 
Регистрация: 26.09.2011
Сообщений: 252

Сообщение от StKorf
а как это тогда решить?
таймаут тут - сильное извращение.
ну ловите событие загрузки структуры
http://javascript.ru/tutorial/events/ondomcontentloaded
или onload, если вы там цепляетесь к размерам объектов типа картинок и прочего.
Ответить с цитированием
  #6 (permalink)  
Старый 14.02.2012, 15:13
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от Rootpassword Посмотреть сообщение
...
ну ловите событие загрузки структуры
http://javascript.ru/tutorial/events/ondomcontentloaded
или onload, если вы там цепляетесь к размерам объектов типа картинок и прочего.
а он по твоему что делает?
Сообщение от StKorf
$(document).ready(function(){
             jQuery("#bigset").jqGrid({
там дело явно не в этом, возможно какой-то скрипт подгружает еще скрипт уже после вызова ondomcontentloaded
Ответить с цитированием
  #7 (permalink)  
Старый 14.02.2012, 15:15
Новичок на форуме
Отправить личное сообщение для StKorf Посмотреть профиль Найти все сообщения от StKorf
 
Регистрация: 14.02.2012
Сообщений: 3

спс, так таймаут нормально пошел
и все грузится...
нет, там привязки особо никакой нету... была отработка (как писал в первом сообщении) на $(document).ready(function(){
думал, оно будет нормально работать. везде отработало кроме мазилы)
буду капать дальше в чем глюки

еще этот скрипт единственный на всей tpl (есть еще подключение скриптов, но оно производилось выше)
как понимаю надо рытся в родительском шаблоне...
Ответить с цитированием
  #8 (permalink)  
Старый 14.02.2012, 15:22
Server
Отправить личное сообщение для Rootpassword Посмотреть профиль Найти все сообщения от Rootpassword
 
Регистрация: 26.09.2011
Сообщений: 252

Я же написал-или-или.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция не работает без jQuery(function() { shilinpavel jQuery 1 26.10.2011 10:05
тело функции работает только при наличии alert sstasv Элементы интерфейса 7 31.08.2011 20:05
alert!!! как быть с alert???? gooody jQuery 2 19.02.2010 21:44
функция должна возвращать объект без одного свойства blackzub Общие вопросы Javascript 4 14.12.2009 19:25
alert () вместо sleep () artemiusgreat Общие вопросы Javascript 1 14.11.2008 14:06