当前位置:Gxlcms > JavaScript > jQuery ui1.7 dialog只能弹出一次问题

jQuery ui1.7 dialog只能弹出一次问题

时间:2021-07-01 10:21:17 帮助过:4人阅读

代码如下:
// 显示确认对话框
function showConfirm(txtTitle, txtMsg, callback){
getDivDialog().text(txtMsg).dialog({
        modal: true
        , overlay: {
            opacity: 0.5
        }
        , title: txtTitle
        ,buttons: {
            "是" : function(){
                callback();
                $(this).dialog("close");
            }
            ,"否" : function(){
                $(this).dialog("close");
            }
        }
    });
}

但是在使用ui.1.7.1 的时候,每次按钮的click事件只能让dialog显示一次。无语。。。
查看官方文档也没有什么解释。 Google了一把,发现,在ui.1.7.1中dialog必须首先初始化。
在document.ready(function(){
// 初始化dialog
})
代码如下:
$("#layout-confirm").dialog({
autoOpen: false,
modal: true,
title: "删除"
    });

后面的使用中,还有一点是需要注意的:
因为有些dialog参数是变量传递进去的,所以,必须先把option附加上,然后再open
代码示例:
代码如下:
delText.click(function(){
        $("#layout-confirm").dialog(
            'option'
            , 'buttons'
            ,{
                "确定": function() {
                    if(file.type == 0){
                        deleteFolder(file.path);
                    }
                    else{
                        deleteFile(file.path);
                    }
                }
                ,"取消":function(){
                    $(this).dialog("close");
                }
            }
        );
        $("#layout-confirm").dialog("open");
});

ok,搞定~~

人气教程排行