javascript - jQuery Mobile - 动态创建的弹出窗口

标签 javascript jquery-mobile popup

我正在 jQuery Mobile 应用程序中填充更新历史记录列表。我希望在列表中包含关键更新数据,并在用户按下信息工具提示时显示更详细的数据。下面的应用程序运行时的屏幕截图。

Working properly after page refresh

目前,它只有在刷新页面后才能正常工作 - 在接收新数据时,所有弹出窗口都是可见的、打开的(在列表下方),并且无法关闭它们。

enter image description here

我正在为每个弹出窗口组装 HTML 并添加到专用弹出窗口中的 DOM <div> 。每个弹出窗口注入(inject)的 HTML 看起来像

<div data-role="popup" id="updateInfo_0.04" class="ui-content updatesWidgetPopup" data-theme="b" data-position-to="window">...data in here..</div>

页面刷新后,一切正常。单击工具提示时,弹出窗口不可见且无法正确打开/关闭。在 jQuery Mobile 发挥其魔力之后,DOM 看起来非常不同。弹出窗口 <div> 取代了我添加的 HTML现在由占位符填充

<div style="display: none;" id="updateInfo_0.04-placeholder">
    <!-- placeholder for updateInfo_0.04 -->
</div>

并且 DOM 现在附加了这些附加列表

<div class="ui-screen-hidden ui-popup-screen ui-overlay-inherit" id="updateInfo_0.04-screen"></div>
<div class="ui-popup-container ui-popup-hidden ui-popup-truncate" id="updateInfo_0.04-popup">
    ... my HTML is now here in this inner div ...
</div>

我已经尝试过$("#popupsDiv").popup()看看在收到数据后是否会正确初始化事物,但它不起作用。我唯一能想到的就是像上面那样手动创建 JQM HTML,这样它就可以在不刷新页面的情况下工作,但这似乎不对。弹出窗口不应该像这样动态创建吗?

最佳答案

而不是

$("#popupsDiv").popup()

使用您分配给所有弹出窗口的 updateWidgetPopup 类在实际弹出窗口上调用 popup():

$(".updatesWidgetPopup").popup()

这会初始化每个动态创建的弹出窗口的弹出窗口小部件。

关于javascript - jQuery Mobile - 动态创建的弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24884430/

相关文章:

javascript - React NPM 包可以防止、搜索和监控状态发生突变的地方

javascript - 如何使用 Parse 密码重置

javascript - 在jquery mobile中动态创建页面,仅包含websql数据库中的特定数据

JQuery Mobile 自定义主题按钮

jquery - photoswipe 插件在关闭时显示未定义

jquery - bpopup 不工作 + 在页面加载时显示

javascript - 获取元素 ( ID ) 并将其显示在页面的任何位置

javascript - 单击链接可放大图像

javascript - 自动模态窗口?/欢迎弹框

javascript - 如何删除 reducer 内 immutable-js 中的嵌套状态对象?