如何在Knockout模板中设置jQuery Mobile内容的样式?

时间:2011-07-08 10:13:45

标签: jquery jquery-mobile knockout.js

我正在使用KnockoutJS和jQuery Mobile。但是,它似乎不会为模板中的任何内容设置样式,无论其数据角色如何。我假设它是因为它将它作为ajax调用加载,并且将在jQuery Mobile完成其初始样式之后。

我的一些模板输入很重,所以我读过你可以遍历每个元素并告诉jQuery将它们设置为相关类型,但肯定必须有一种方法来获取它只是重做一切,还是一个页面?

2 个答案:

答案 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,并且由于某种原因导致添加的元素无法正确注入。即我的页脚导航栏没有接到注入锚点等的跨度。

一旦我删除它,一切正常。