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

复制代码 代码如下:


// 显示确认对话框
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");
});

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wjysws.html