我正在使用KnockoutJS和jQuery Mobile。但是,它似乎不会为模板中的任何内容设置样式,无论其数据角色如何。我假设它是因为它将它作为ajax调用加载,并且将在jQuery Mobile完成其初始样式之后。
我的一些模板输入很重,所以我读过你可以遍历每个元素并告诉jQuery将它们设置为相关类型,但肯定必须有一种方法来获取它只是重做一切,还是一个页面?
答案 0 :(得分:2)
根据您需要多久才能完成这项工作,我不会指望很快就会出现form.refresh()。来自jQuery Mobile Blog
我们正在努力为图书馆增加一些令人兴奋的内容,包括更广泛的过渡支持,pushState等。在短期内,我们将在接下来的两周内定位Beta 2版本,以便将这些点击更改和其他改进纳入稳定版本,以便更快地开始发布。
尽管form.refresh()可能会推出测试版2,但至少需要两周时间。在此之前,您最好的选择是遍历每个元素并调用样式方法。您可以在此处获取元素样式列表:http://jquerymobile.com/demos/1.0b1/#/demos/1.0b1/docs/forms/plugin-eventsmethods.html只需在不带参数的情况下调用它们以强制使用jQuery移动样式。示例:$("input[type='number']").textinput();
另一种可行的方法(但可能只是作为最后的手段使用)只是编写模板的html,以便元素已经被设计为jQuery移动元素。换句话说,jQuery mobile添加的所有html,例如<span class="ui-btn-inner"><span class="ui-btn-text">
,都将它放在自己身上。当然,这意味着你的模板最终会出现一堆额外的HTML,并且可能会让人感到困惑,所以只有你必须这样做。
答案 1 :(得分:0)
我将接受之前的回答,因为我提到的问题将由此解决。
无论其!我实际遇到的问题是因为我在我的javascript包含中引用了Qtip,并且由于某种原因导致添加的元素无法正确注入。即我的页脚导航栏没有接到注入锚点等的跨度。
一旦我删除它,一切正常。