2012-02-22 87 views
1

我正在创建一个jQuery UI对话框,而没有HTML对话框中的空div容器。出于某种原因,全局变量在其他JavaScript函数中不能识别(除了原始的javascript函数)。jquery ui对话框全局变量

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用户界面对话框而不必对话框作为空html元素的任何已知的解决方案?

回答

2

删除函数中$ signOutDialog之前的变量,您可以在函数中再次将其定义为函数作用域中的局部变量。

+0

工程。谢谢!! – aporat 2012-02-22 22:07:27

1

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

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

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