Javascript jQuery UI:如何将一组常用选项发送到.dialog()?

Javascript jQuery UI:如何将一组常用选项发送到.dialog()?,javascript,jquery,jquery-ui,jquery-ui-dialog,Javascript,Jquery,Jquery Ui,Jquery Ui Dialog,是否可以发送一组常用选项: var commonVars = { autoOpen: false, draggable: false, resizable: false, show: 'fade', hide: 'fade' }; 要创建对话框,请执行以下操作: $('#dialog_1').dialog({ //Common vars go here somehow

是否可以发送一组常用选项:

var commonVars = {
    autoOpen:       false,
    draggable:      false,
    resizable:      false,
    show:           'fade',
    hide:           'fade'
};
要创建对话框,请执行以下操作:

$('#dialog_1').dialog({
    //Common vars go here somehow
    width:          275,
    height:         170,
    dialogClass:    "class1 class2"
});
$('#dialog_2').dialog({
    //Common vars go here somehow
    width:          600,
    height:         350,
    dialogClass:    "class3 class4"
});     

例如:

var object1 = {
    //Common vars go here somehow
    width:          275,
    height:         170,
    dialogClass:    "class1 class2"
};

var object2 = {
//Common vars go here somehow
width:          600,
height:         350,
dialogClass:    "class3 class4"
}
var commonVars = {
    autoOpen:       false,
    draggable:      false,
    resizable:      false,
    show:           'fade',
    hide:           'fade'
};

$.extend(object1, commonVars);
$.extend(object2, commonVars);

$('#dialog_1').dialog(object1);
$('#dialog_2').dialog(object2);

你为什么不干脆做一下
$(“#dialog_1”)。dialog(commonVars)

算出来了,有点意外。因此,如果有人想知道同样的事情,可以将
commonVars
变量放在每个对话框的选项括号之前:

var commonVars = {
    autoOpen:   false,
    draggable:  false,
    resizable:  false,
    show:       'fade',
    hide:       'fade'
};

$('#dialog_1').dialog(commonVars,{
    width:          275,
    height:         170,
    dialogClass:    "class1 class2"
}); 

+1 ... 虽然,在我的例子中,我使用了
if(typeof object1=='object'){object1=$.extend(commonVars,object1);}else{object1=commonVars;}
的格式进行保护。