在ajax成功之后我的弹出窗口出现问题,它没有调整到中心,但第二次调整大小(因为它已经加载)。我试图遵循这个example,但有错误(没有弹出)。从我的代码来看,动态弹出窗口是否更好,或者有哪种方法可以像beforepageshow
或load
那样在中心显示?例如下面:
//popup
<div data-role="popup" id="popupFood" data-theme="a" class="ui-corner-all">
<div style="padding:10px 20px;">
<h3>Preferences</h3>
<div class="ui-block-a" id="foood" style="width:50%"></div>
<button type="button" onclick="someaction()" class="ui-btn ui-corner-all ui-shadow ui-btn-b ui-btn-icon-left ui-icon-check">Search</button>
</div>
</div>
//ajax success
function food(data, textStatus){
$('#foood').empty();
$.each(data, function (i, x) {
var foodTest = '<label for="grid-checkbox-' + x.id + '">' + x.description+ '</label>' +
'<input type="checkbox" name="grid-checkbox-' + x.id + '" id="grid-checkbox-' + x.id + '" value="' + x.id + '" data-mini="true" >';
$('#foood').append(foodTest);
});
$('#foood').enhanceWithin();
}
答案 0 :(得分:0)
您可以通过
中心弹出窗口成功完成Ajax后以编程方式打开它。请注意,您需要删除data-rel="popup"
并在 Anchor 标记上将href设置为href="#"
。
$("#popupFood").popup("open");
通过聆听popupafteropen
事件重新定位,然后使用reposition
选项覆盖位置。
$("#popupFood").on("popupafteropen", function () {
$(this).popup("reposition", {
positionTo: "window"
});
});
<强> Demo 强>