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

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

我的一些模板输入很重,所以我读过你可以浏览每个元素并告诉jQuery将它们设置为相关类型,但肯定必须有办法让它重做一切,或者一个页面?

最佳答案 根据你需要多快工作,我不会指望form.refresh()很快就会到来.从
jQuery Mobile Blog

We’re working on some exciting additions to the library including broader transition support, pushState and more. For the near term, we’re going to target the Beta 2 release within the next 2 weeks to get these click changes and other improvements into the stable release so the pace of releases will start being much more frequent.

虽然有可能是form.refresh()与beta 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,并且可能会让人感到困惑,所以只有你必须这样做.

点赞