弹出窗口似乎非常错误(没有准备就绪)。弹出窗口关闭事件将在它关闭时触发(因为它应该这样做)..但是当你切换到另一个页面时(多页面布局)也是如此。这根本不应该发生。因为您可能永远不会打开弹出窗口...但是当您切换页面时仍会触发关闭事件(他们是如何错过那个?)。
此外,从弹出窗口的关闭事件中,我尝试使用$ .mobile.changePage(../ schedule.html)返回上一页;但如果我在弹出窗口的关闭事件中这样做,会发生很奇怪的事情。所以这段代码:
$( "#somepage #popupstatus" ).bind({
popupafterclose: function(event, ui)
{
console.log('closing popup');
if (isPopupVisible)
{
isPopupVisible=false;
//do stuff
$.mobile.changePage('../schedule.html');
}
}
});
会让你跳回到上一页......然后它会再次跳转到此页面。 为什么?这是另一个错误吗?还有其他人有这个问题吗?
答案 0 :(得分:2)
我遇到了类似的问题,我在弹出窗口上有一个确认按钮。我想我需要在更改页面之前关闭弹出窗口。显然只是更改页面也会关闭弹出窗口。我去了:
$('#confirm_status').popup('close');
self.loadWorkOrders();
$.mobile.changePage('#work_orders');
为:
self.loadWorkOrders();
$.mobile.changePage('#work_orders');
现在它正常工作。
答案 1 :(得分:0)
我遇到了类似的问题。
第1页(列表页面)转换到第2页(详细信息页面),在用户单击按钮并成功完成Ajax-POST后打开弹出窗口。关闭弹出窗口时,会发出一个更改页面到第1页。这导致popupafterclose事件在再次发生时触发。
在所述事件中使用简单的布尔检查防止这种情况(在发出POST时设置为true,在弹出窗口打开时设置为false)导致其他奇怪的行为 - 从第1页到第2页的初始转换几乎总是如此-executed,因此用户总是会看到两个转换:弹出窗口关闭后的第一个转换,然后再转换为第1页到第2页的转换。
此时我放弃了,我将尝试使用对话框而不是弹出窗口。