Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Убрать setTimeout
Pandion  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 125
Пользователь №: 27866
На форуме: 5 лет, 6 месяцев, 26 дней
Карма:




Добрый день

Имеется

get : function(){
setTimeout(
function(){
var select = $('#select');
select.styler();
}, 1
);
},


Вот как не пытался переписать без setTimeout - не работает
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Guest  
Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









В IIFE заверни.
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
redreem  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 4259
Пользователь №: 29002
На форуме: 5 лет, 4 месяца, 10 дней
Карма: 147




а так?
вообще странно, таймаут на 1 миллисекунду... понятно было бы еще если б на пару сотен.
get : function(){
$(document).ready(
function(){
var select = $('#select');
select.styler();
}
);
},
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11789
Пользователь №: 23195
На форуме: 6 лет, 4 месяца, 17 дней
Карма: 429

Трезвый :
7 лет, 3 месяца, 17 дней


Цитата (redreem @ 12.02.2016 - 20:10)
вообще странно, таймаут на 1 миллисекунду

недавно точно такой же хак приходилось делать, что-то там не успевало инициализироваться, а пропатчить возможности не было
насколько я помню, в реальности этот таймаут более 1 мсек выходит, у меня порядка 20 мсек


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
redreem  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 4259
Пользователь №: 29002
На форуме: 5 лет, 4 месяца, 10 дней
Карма: 147




Invis1ble
подозреваю, что с сервака по онлоад идет куча инициализаций всякой всячины и одна "всячина" зависит от другой, но инитится первой. вот и затык. да, таймаут в 1 мс поможет, просто сначала отработает онлоад, а потом сразу таймаут. но с другой стороны если попробовать как я написал, - теоретически это должно встать последним в очередь.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11789
Пользователь №: 23195
На форуме: 6 лет, 4 месяца, 17 дней
Карма: 429

Трезвый :
7 лет, 3 месяца, 17 дней


Цитата (redreem @ 12.02.2016 - 21:14)
с сервака по онлоад идет куча инициализаций всякой всячины и одна "всячина" зависит от другой

да, примерно как-то так и было
при этом никакого события не триггерилось сторонним плагином + всё завернуто в AMD-модули и не пропатчить


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Guest  
Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









Цитата (redreem @ 12.02.2016 - 20:10)
а так?
вообще странно, таймаут на 1 миллисекунду... понятно было бы еще если б на пару сотен.
get : function(){
  $(document).ready(
    function(){
    var select = $('#select');
    select.styler();
}
  );
  },

Тут есть одна проблема: раньше внутреннюю фукнкцию вызывал setTimeout, а теперь ее никто не вызывает.
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Guest  
Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









А не, пардон. Глаза подвели smile.gif
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 14980
Пользователь №: 4190
На форуме: 8 лет, 10 месяцев, 5 дней
Карма: 444




Цитата (Pandion @ 12.02.2016 - 18:45)
Вот как не пытался переписать без setTimeout - не работает

Как именно пытался? У меня есть подозрение, что без таймаута ты пытаешься обратиться к объекту, который еще не создан. Что за айдишник такой? Это объект, который создается динамически? Или он изначально создается на странице? В зависимости от условий, варианты действий могут быть разные. Но независимо от условий, таймаут тут явно лишний.


--------------------
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Pandion  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 125
Пользователь №: 27866
На форуме: 5 лет, 6 месяцев, 26 дней
Карма:




Цитата (redreem @ 12.02.2016 - 16:10)
а так?
вообще странно, таймаут на 1 миллисекунду... понятно было бы еще если б на пару сотен.
get : function(){
$(document).ready(
function(){
var select = $('#select');
select.styler();
}
);
},

Так тоже не работает

select создается динамически, да
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 14980
Пользователь №: 4190
На форуме: 8 лет, 10 месяцев, 5 дней
Карма: 444




Цитата (Pandion @ 13.02.2016 - 09:24)
select создается динамически, да

Тогда смотри, что ты делаешь.

Вот этот код (что внутри него) выполняется сразу же по окончании загрузки страницы и как только jQuery готов.
$(document).ready(


Если ты создаешь объект динамически, то он, скорее всего, появится позднее, чем выполнится код внутри $(document).ready, что и происходит, похоже, в твоем случае.
Тебе какие-то действия с объектом надо выполнять в той части кода, где ты его создаешь :) Проще логики просто быть не может. Создал объект - запустил какие-то связанные с ним действия. А если ты где-то в другой части когда действуешь, то да, тебе надо как-то угадать, когда объект появится.

Короче говоря. Где именно и каким кодом создается этот объект?


--------------------
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Guest  
Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









Pandion, это про твой styler http://dimox.name/jquery-form-styler/#nedostatki ?
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Pandion  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 125
Пользователь №: 27866
На форуме: 5 лет, 6 месяцев, 26 дней
Карма:




В другом файле создаётся. Мне там сложно разобраться, там бэкбон, рендерится как-то

да, стайлер через jquery-form
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Pandion  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 125
Пользователь №: 27866
На форуме: 5 лет, 6 месяцев, 26 дней
Карма:




Т.е. setTimeout не убрать?)
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса