jquery mobile css 未应用于 knockout 模板

标签 jquery templates knockout.js

我正在开发一个jquery移动项目,我想使用knockout,因为我非常了解mvvm,并且认为它会加快我的项目速度。我拥有的是一个带有元素数组的 View 模型,当我为这些元素创建一个模板并在模板中放置一个按钮时,它不会使用 jquery mobile css 进行模板化。

在这里查看 js fiddle :JsFiddle Example

我希望播放器的按钮能够从jquery获取样式,就像页面底部的按钮(不在模板中)。

这只是一个例子,我希望也能应用于其他表单元素,这个问题有什么好的解决方案吗?

最佳答案

让我与您分享一些有关 jQueryMobile 工作原理的知识。

初始化页面时,jQueryMobile 会使用 data-... 迭代所有节点。属性并使它们成为移动控件,通过修改 DOM 来实现这些更改。

您的按钮位于<script type="text/html">内标签,因此 jQM 无法到达它。这是因为浏览器不解析 script 中的内容标签。

避免此问题的常用方法是为 KO 实现自定义绑定(bind),它将当前节点初始化为按钮。请查看我的代码版本:http://jsfiddle.net/romanych/z9sbC/3/

关于jquery mobile css 未应用于 knockout 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9406356/

相关文章:

javascript - 屏蔽 HTML 密码输入

jquery - HTML设计-用div替换表格

c++ - 如何从指向成员函数的指针推断出 `T` 的类型?

python - 在 web.py 中呈现 HTML

knockout.js - knockout "with"绑定(bind),并使用数组索引访问器

javascript - 用户可以选择两个输入,但只需要一个。

templates - 为什么enable_if不能用于特殊参数?

javascript - 为什么这个 knockoutjs observableArray 不会导致 UI 更新?

knockout.js - 我可以将 Knockout.js-External-Template-Engine 与嵌套模型一起使用吗?

jquery - 需要根据下拉列表中所选项目的值设置一个变量