我使用jQuery Mobile作为移动框架。我使用jQuery动态填充自定义内容的页面。 jQuery Mobile不会将样式应用于页面加载后创建的元素。出于这个原因,我正在使用
$('[data-role=content]').trigger('create');
所以jQuery Mobile在创建新内容后重新评估页面样式。
我还使用SammyJs加载路由并处理动态内容创建。我发现如果我将trigger(create)
内联到我的JSON请求中,则代码不起作用。但是,如果我从控制台执行代码(在JSON请求和触发器之间添加时间),jQuery将正确应用样式...
我的解决方法是使用setTimeout
:
setTimeout(function() {
$('[data-role=content]').trigger('create');
}, 100);
但是,我觉得这不是最好的解决方案,因为内容看起来毫无问题,毫秒(用户可以看到它),然后用正确的样式刷新......
有没有办法用jQuery mobile或Sammy监控DOM变化?