[英]jQuery plugin overwrite option
不幸的是,我遇到了jQuery插件的問題。 我做了一個小插件,以方便構建引導模態。
插件的選項如下所示:
defaults = {
modalName: "",
size: "md",
title: "",
body: "",
buttons: {
confirm: {
class: 'btn btn-primary',
value: 'Save'
},
cancel: {
class: 'btn btn-default',
value: 'Cancel'
}
}
};
但我希望某些頁面的確認按鈕的值不同。 我以為我可以這樣做:
$( 'body' ).CreateModel ( {
// Different settings
buttons: {
confirm: {
value: 'Save & exit'
}
}
});
但不幸的是,這完全清除了默認對象,它只留下了buttons.confirm.value
。 有什么辦法可以解決這個問題嗎?
提前致謝!
你沒有向我們展示你如何使用defaults
和在參數中傳遞的對象的實現,但你可以使用$.extend
來解決這個問題。
像這樣的東西:
$.fn.CreateModel = function(options) {
options = $.extend({}, defaults, options);
....
};
使用jQuery函數.extend
,您可以傳遞true作為允許深度合並的第一個參數。
你必須更改this.options = $.extend( {}, defaults, options) ;
至 :
this.options = $.extend(true, {}, defaults, options) ;
在這里查看示例: http : //jsfiddle.net/n5BKk/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.