我对jQuery很陌生,目前正试图将动态创建的扩展器插入到jQuery-Mobile页面中,如下所示:
<div data-role="page" id="myPage">
<div data-role="content">
<div id="myContainer"></div>
</div>
</div>
由于扩展器应该插入“myContainer”,我写的是:
var expander = $("<div data-role='collapsible' data-collapsed='true'><h3 class='category' /><div class='content' /></div>");
$("#myContainer").append(expander);
expander.find(".category").text(/*Some text*/);
expander.find(".content").text(/*Some text*/);
但是,我的文档中只出现了一个未经训练但不可折叠的div。
我想,我必须手动切换扩展器的创建,类似于刷新列表视图 - 但是我在文档中没有找到任何相关内容。
不幸的是,
expander.Refresh();
//nor
expander.Expander();
似乎存在。
非常感谢您的回复!
答案 0 :(得分:2)
这个问题事实上经常发生重复,因此我创建了一个关于它的常见问题解答。
您需要在添加到DOM的最顶层元素上使用.page()
。
详情请见此处: http://jquerymobiledictionary.dyndns.org/faq.html
[编辑]
当我想在.page
事件中使用page*
并且解决方案对我来说相当明显时 - 我也使用了信号量。
如果您不知道如何实现信号量,请参阅我的双列插件代码作为示例(它位于同一站点上)