1

我正在将我的网站从使用 jQueryUI 转换为 jQuery Mobile,但遇到了一些麻烦。

我有一个页面可以让用户添加新的时间表条目。他们单击“添加”按钮,它会从服务器检索到页面的局部视图。

问题是 jQuery Mobile 没有应用于局部视图中的任何元素。

在将元素插入页面后,如何强制 jQuery Mobile 处理我的元素?

4

1 回答 1

2

简短的回答是,您可以create在插入局部视图的父元素上触发该方法。

例如$('#container').trigger( "create" );

或者,大多数小部件可以通过在元素上调用它们来手动初始化,例如对于 listview: $('#myListview').listview()。如果您只有几个元素需要增强并且您不想遍历容器的所有子元素,这将很有用。您还应该知道,对于许多小部件,还有一个刷新方法,如果您在它已经初始化之后向其中添加元素,则可以调用该方法$('#myListview').listview('refresh)

另请查看 JQM 文档中处理此问题的以下问答,并了解为什么有必要调用这些方法。

问题:注入页面的内容没有得到增强。

回答:

jQuery Mobile 无法知道您何时将内容注入页面。要让 jQuery Mobile 知道您注入了必须增强的内容,您需要确保调用插件来增强新元素或在父容器上触发(“create”),这样您就不必调用每个插件手动。

于 2013-11-14T18:34:26.607 回答