उस AFAIK के लिए कोई अंतर्निहित कार्यक्षमता है, लेकिन क्या मैं आमतौर पर चाहते हैं कि वे अपने आप में एक अलग हैश में इस तरह सेट कर दिया जाता है:
var dialog_defaults = {
autoopen: false,
buttons: {
close: function() { $(this).dialog('close'); }
},
....
};
फिर जब मैं संवाद बनाने के लिए, मैं करने के लिए jQuery के विस्तार विधि का उपयोग उन्हें काम करें, इस तरह:
$('#divvie').dialog(
$.extend({}, dialog_defaults, {
autoopen: true
});
);
आपके द्वारा पारित तर्कों का दूसरा सेट संवाद_defaults चर में जो भी हो, ओवरराइट/विलय करेगा। बस सुनिश्चित करें कि आपने वहां खाली हैश ({}
) डाला है, या आपके डिफ़ॉल्ट ओवरराइट हो जाएंगे, जो मुझे अतीत में काट रहा है।
'$ .extend' पहला तर्क mutates पाया। आप 'विकल्प' ऑब्जेक्ट में स्टैकिंग गुणों को समाप्त कर देंगे। @ ग्रोवेट्रेन के जवाब में एक खाली हैश का उपयोग करने का उल्लेख देखें। –
यह लक्ष्य है: डिफ़ॉल्ट विकल्प ऑब्जेक्ट को म्यूटेट करें ... – Softlion
यदि आप डिफ़ॉल्ट विकल्प बदलना चाहते हैं, तो यह एक अच्छा समाधान है, जो मूल प्रश्न पूछता है। –