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

(编辑:jimmy 日期: 2024/10/10 浏览:2)

复制代码 代码如下:
// 显示确认对话框
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,搞定~~
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。