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");
});

ok,搞定~~

JavaScript技术jQuery ui1.7 dialog只能弹出一次问题,转载需保留来源!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。