0

我正在通过 jQuery Mobile 对话框小部件加载一个页面,如果我在加载的页面中使用弹出消息,我无法在 ios 6.1.2 上弹出后关闭它。这是一个例子:

jQuery.post(
    ajax_url+'create',
    {'info': send_values},
    function(result){
        if(result.status){
            //Without this message all works fine
            jQuery('#popup-message').text(result.message).popup('open');
            setTimeout(function(){
                // Tried
                // jQuery('#popup-error').popup('close');
                // jQuery('#popup-message').popup('close');
                // jQuery('.ui-dialog').dialog('close');
                jQuery('#dialog').dialog('close'); //loaded div is with dialog id
            }, 2000);
        }
        else
            showError(result.message);
    },
    'JSON'
)
4

1 回答 1

0

编辑:

问题是如何在从弹出窗口中打开对话框后关闭

好的,现在我明白了;)

因此,您可以在打开弹出窗口调用一个事件

$( ".Selector" ).on( "popupafteropen", function( event, ui ) {} );

来源:http : //api.jquerymobile.com/popup/#event-afteropen

所以你更新的代码应该是:

jQuery.post(
ajax_url+'create',
{'info': send_values},
function(result){
    if(result.status){
        //Without this message all works fine
        jQuery('#popup-message').text(result.message).popup('open');
        jQuery('#popup-message').on('popupafteropen', function( event, ui ) {
            setTimeout(function(){
                // Tried
                // jQuery('#popup-error').popup('close');
                // jQuery('#popup-message').popup('close');
                // jQuery('.ui-dialog').dialog('close');
                jQuery('#dialog').dialog('close'); //loaded div is with dialog id
            }, 2000);
        } );
    }
    else
        showError(result.message);
},
'JSON'
)

原答案

您正在尝试关闭 DIALOG...但是您打开了 POP-UP。

改变:

 jQuery('#dialog').dialog('close'); //loaded div is with dialog id

至:

 jQuery('#dialog').popup('close'); //loaded div is with dialog id

源代码:http : //api.jquerymobile.com/popup/#method-close

于 2013-03-17T18:28:27.133 回答