在jQuery Mobile中动态插入扩展器

时间:2011-02-12 16:19:00

标签: javascript jquery jquery-mobile

我对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();

似乎存在。

非常感谢您的回复!

1 个答案:

答案 0 :(得分:2)

这个问题事实上经常发生重复,因此我创建了一个关于它的常见问题解答。

您需要在添加到DOM的最顶层元素上使用.page()

详情请见此处: http://jquerymobiledictionary.dyndns.org/faq.html

[编辑]

当我想在.page事件中使用page*并且解决方案对我来说相当明显时 - 我也使用了信号量。

如果您不知道如何实现信号量,请参阅我的双列插件代码作为示例(它位于同一站点上)