2012-02-22 83 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')」。