JQuery手机弹出$ .mobile.changePage Bug?

时间:2012-10-19 13:28:47

标签: jquery mobile popup

弹出窗口似乎非常错误(没有准备就绪)。弹出窗口关闭事件将在它关闭时触发(因为它应该这样做)..但是当你切换到另一个页面时(多页面布局)也是如此。这根本不应该发生。因为您可能永远不会打开弹出窗口...但是当您切换页面时仍会触发关闭事件(他们是如何错过那个?)。

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

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

2 个答案:

答案 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页的转换。

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