मुझे पता है कि यह सही नहीं है, लेकिन आप अपना खुद का defaults
ऑब्जेक्ट परिभाषित कर सकते हैं जिसमें आपके डिफ़ॉल्ट हैं। तो अगर आप ओवरराइड या उन डिफ़ॉल्ट रूप में जोड़ने की जरूरत है, तो आप $.extend
इस्तेमाल कर सकते हैं:
var dialogDefaults = {
open: function (event, ui) {
$(".ui-dialog-titlebar").removeClass("ui-corner-all");
$(".ui-dialog").removeClass("ui-corner-all");
}
};
// then later on:
$("#foo").dialog($.extend({ }, dialogDefaults, {
autoOpen: false,
width: 500,
/* etc... */
}));
इसके अलावा घटनाओं के लिए याद रखें कि, आप विकल्पों में से बाहर करने के लिए उन्हें बाध्य कर सकते हैं वस्तु on
का उपयोग कर (या उसके भाई बहन delegate
द्वारा, bind
, और live
)। आप उदाहरण के लिए, अपने संवादों के सभी के लिए एक ही कक्षा लगाने से कई संवाद करने के लिए कि ईवेंट हैंडलर लागू कर सकते हैं:
$("div.my-dialog-class").on("dialogopen", function (event, ui) {
$(".ui-dialog-titlebar").removeClass("ui-corner-all");
$(".ui-dialog").removeClass("ui-corner-all");
});
बस है कि इस ईवेंट हैंडलर नई संवाद के लिए बंद सक्रिय नहीं होगा ध्यान में रखना। आप body
को डोम अप ईवेंट बबल जाने और वहाँ ईवेंट हैंडलर देते हैं सकता है (यह मैं जाना होगा मार्ग है):
$(document.body).on("dialogopen", "div.my-dialog-class", function (event, ui) {
$(".ui-dialog-titlebar").removeClass("ui-corner-all");
$(".ui-dialog").removeClass("ui-corner-all");
});
घटना प्रतिनिधिमंडल की इस पद्धति के साथ
, तुम सब करने के लिए अपने open
समारोह आवेदन कर रहे हैं संवाद जो कभी भी document.body
में जोड़े जाएंगे।
स्रोत
2012-02-15 13:52:49
'डिफ़ॉल्ट के रूप में सेट' से आपका क्या मतलब है? वह सीएसएस को संपादित करेगा। जब भी आप गोलाकार कोनों को हटाने के लिए आसानी से सीएसएस को संपादित कर सकते हैं तो संवाद को खोले जाने पर मुझे जावास्क्रिप्ट को नियोजित करने की आवश्यकता नहीं होती है। – j08691
शायद इसे बेहतर उत्तर के लिए देखना चाहें: http://stackoverflow.com/questions/2287045/override-jqueryui-dialog-default- विकल्प – phazei