2016-01-15 3 views
2

Я хочу, чтобы скрипт jQuery загружался после загрузки всех элементов DOM. Я пытался пропустить Template.Mytemplare.onRendered(); Но это не решает мою проблему, потому что DOM еще не готов. Также я использую Flow-router, а не Iron Router. Поэтому я не могу использовать обработчик IronBouter onAfterAction или обратный вызов шаблона? Я также использовал подписки, поэтому я загружаю DOM, если подписка готова Template.subscriptionReady. Какие-либо предложения?Запуск JQUERY Сценарии после DOM загружаются в Meteor js?

+0

Вы уже пытались использовать jQuery '$ (document) .ready (function() {...});'? –

+2

Трудно понять, что предложить без дополнительных деталей. Посмотрите ответ на [этот вопрос] (https://stackoverflow.com/questions/34777586/template-subscriptionsready-disables-onrendered-functionality) и посмотрите, поможет ли это. –

+0

да! Я использовал $ (document) .ready (function() {...}); Но не работает – user3765023

ответ

0

Вы могли бы объединить onRendered и готовы функции JQuery в:

Template.Mytemplate.onRendered(function() { 
    $(function() { 
     // your code goes here 
    }); 
}); 
+0

Нет, поскольку я уже упоминал, что он не работает. – user3765023

-1

Проблема в том, что, когда Template.myTemplate.onRendered(); выполняется, подписка еще не готова, поэтому DOM пока не готов. как я использовал Template.subscriptionsReady перед загрузкой DOM. Таким образом, при подписке есть функция обратного вызова, называемая OnReady(). он будет выглядеть так:
Meteor.subscribe("somePublication", {onReady: function(){//code to perform after //subscription is ready goes here }})

+0

Так что в основном проблема возникла из другой части кода, который вы не поделили в своем вопросе, из-за причин, которые вы не раскрыли в своем вопросе? Кроме того, готовые подписки не имеют отношения к DOM! –

Смежные вопросы