如何在pageinit之后初始化弹出窗口?

时间:2012-11-19 20:13:41

标签: javascript jquery jquery-mobile

问题:我有非常长的文本字段,我正在截断它们并将全文放入jQuery Mobile弹出窗口,该弹出窗口将在单击“[more]”链接时显示。但是,在用弹出标记替换文本后,我无法找到正确的钩子来初始化弹出窗口。我把它绑定到pageinit,但是当我点击时,没有任何反应。没有绑定替换代码给我的信息是:“弹出的函数尚未初始化”,所以我知道有些初始化是必要的 - 但如果不是pageinit,我不知道多早在堆栈中需要调用它。

JSFiddle:http://jsfiddle.net/KSFyn/1/ - 注意:由于JSFiddle的内置jQuery Mobile是1.1.1,因此pageinit没有按预期执行,但是这可以让你知道我想要实现的目标

1 个答案:

答案 0 :(得分:1)

这样的事情有用吗?

更新:需要重新创建jQM标记,因为您在创建页面后动态添加弹出文本(使用JQM~beh中的'create'事件)

HTML

<div data-role="page" class="type-home">
    <div data-role="content">
        <a href="#popupInfo" data-rel="popup" data-role="button" data-inline="true">This is an exceptionally long span ...</a>
        <div data-role="popup" id="popupInfo" class="ui-content" data-theme="e" style="max-width:350px;">
          <p>This is an exceptionally long span that I will attempt to break up with JS and present the full text as a popup.  This is an exceptionally long span that I will attempt to break up with JS and present the full text as a popup.</p>
        </div>
    </div>
</div>
​