在我的jquery移动网站中,我从页脚textinput请求发送到控制器,控制器将json数据作为弹出窗口发送回视图(此弹出窗口中的数据使用jstemplate呈现)。
一切都按预期工作但当我更改页面请求时会传递给控制器,但弹出窗口没有显示。
来自我的js函数我正在发送
$("#myDataPopUp").popup("open").enhanceWithin();
和_Layout.cshtml内部
<div id="myDataPopUp" data-role="popup" class="ui-content" data-theme="a" />
同样,一切正常,直到我更改页面(因为代码在_Layout内)它也应该在其他页面上工作。
答案 0 :(得分:2)
由于您使用的是jQuery Mobile 1.4,我建议您使用外部弹出,可以从任何页面访问。 外部弹出窗口应放在任何页面 div data-role="page"
之外,然后应手动初始化。
<div data-role="popup">
<!-- contents -->
</div>
<div data-role="page">
<!-- contents -->
</div>
如果Popup包含其他 jQM小部件,则需要通过调用.enhanceWithin()
来初始化这些小部件。否则,.popup()
就足够了。
$(function () {
$("#popupID").popup().enhanceWithin();
});
动态
/* to enhance jQM widgets inside popup, if any */
$("#popupID").popup("open").enhanceWithin();
/* close it */
$("#popupID").popup("close");
静
<a href="#popupID" data-rel="popup">Popup</a>
答案 1 :(得分:0)
页面更改或在调用open函数之前尝试这样:
$("#myDataPopUp").popup();
$("#myDataPopUp").popup("open");