我想创建一个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元素的任何已知解决方案?
答案 0 :(得分:2)
在函数中删除$ signOutDialog之前的var,在函数中再次将其定义为函数范围内的局部变量。
答案 1 :(得分:1)
全局$ signOutDialog是一个常规的javascript变量。
createDialog中的$ signOutDialog与前一个不同。
所以在test2方法中,它尝试在空值上使用“.dialog('close')”。