3

弹出窗口似乎真的有问题(未准备好发布)。如果关闭弹出窗口关闭事件(正如它应该做的那样),它将触发......但是当您切换到另一个页面(多页面布局)时也会触发。这根本不应该发生。因为您可能从未打开过弹出窗口......但是当您切换页面时仍然会触发关闭事件(他们怎么会错过那个?)。

此外,从弹出窗口的关闭事件中,我尝试使用 $.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');
        }       
    }
});

会让你跳回上一页……然后它会再次跳到这一页。为什么?这是另一个错误吗?其他人有这个问题吗?

4

2 回答 2

2

我遇到了类似的问题,我在弹出窗口上有一个确认按钮。我想我需要在更改页面之前关闭弹出窗口。显然,只需更改页面也会关闭弹出窗口。我来自:

$('#confirm_status').popup('close');
self.loadWorkOrders();
$.mobile.changePage('#work_orders');

至:

self.loadWorkOrders();
$.mobile.changePage('#work_orders');

现在它工作正常。

于 2013-01-03T19:59:58.413 回答
0

我遇到了类似的问题。

第 1 页(列表页)转换到第 2 页(详细信息页),在用户单击按钮并成功完成 Ajax-POST 后打开弹出窗口。关闭弹出窗口时,将发出 changePage to Page 1。这会导致在再次转到第 2 页时触发 popupafterclose 事件。

在所述事件中使用简单的布尔检查来防止这种情况(在发出 POST 时设置为 true,在打开弹出窗口时设置为 false)会导致其他奇怪的行为 - 从第 1 页到第 2 页的初始转换几乎总是重新执行,所以用户总是会看到两个转换:在弹出窗口关闭后预期的到第 1 页,之后直接从第 1 页到第 2 页的转换。

此时我只是放弃了,我将尝试使用对话框而不是弹出窗口。

于 2012-10-31T14:30:01.507 回答