jquery ui对话框全局变量

时间:2012-02-22 21:24:31

标签: jquery jquery-ui

我想创建一个jquery ui对话框,而没有为HTML中的对话框提供空div容器。由于某种原因,全局变量在其他javascript函数中无法识别(除了原始的javascript函数)。

var $signOutDialog = null;


function createDialog() {
    var $signOutDialog = $("<p></p>").dialog({
        resizable: false,
        title: 'Sign Out',
        width: 830,
        autoOpen: false,
        modal: true,

    });
}

然后我有另一个javascript函数,它被$ .ajax成功委托调用。 $signOutDialog全局变量在此函数中为NULL。

 function test2() {
     $signOutDialog.dialog('close'); 
 }

关闭jquery ui对话框而不将对话框作为空html元素的任何已知解决方案?

2 个答案:

答案 0 :(得分:2)

在函数中删除$ signOutDialog之前的var,在函数中再次将其定义为函数范围内的局部变量。

答案 1 :(得分:1)

全局$ signOutDialog是一个常规的javascript变量。

createDialog中的$ signOutDialog与前一个不同。

所以在test2方法中,它尝试在空值上使用“.dialog('close')”。