【发布时间】:2015-10-17 01:59:05
【问题描述】:
我需要在新渲染的模板上应用一些语义 UI,但我不知道如何从路由器获取渲染的 HTML。这是我的代码:
Router.route('/', {
name: 'home',
where: 'client',
action: function () {
this.render('home');
},
onAfterAction: function () {
console.log( $('#homeSidebar') );
}
});
基本上,$('#homeSidebar') 应该返回侧边栏元素,但它什么也不返回,因为 HTML 尚不可用。到目前为止,唯一的解决方案是像这样更改函数
onAfterAction: function () {
setTimeout(function () {
$('#homeSidebarToggle').on('click', function () {
$('#homeSidebar').sidebar('toggle');
});
}, 200);
}
既不干净也不安全。如何在 HTML 可用后立即运行函数?
【问题讨论】:
标签: jquery meteor iron-router semantic-ui