Bonjour j'ai une petite question concernant les sous paramètres dans la conception d'un plugin jquery.
En faites définir des paramètres par défaut est très simple sauf dans le cas ou l'on souhaite structuré les paramètres dans d'autres paramètres.
par exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
(function($){
$.monplugin.init= function(settings) {
		var optbox = {
			display : true,
			elemid : '#notify-header',
			elemclass : 'dc-head-request',
			background : "#efefef",
			text : ''
		};
		var settings = $.extend({},optbox,settings);
		if(typeof settings != 'object'){
			console.log('settings  is not object');
		}
                var $id = $(settings.elemid);
alert($id);
}
})(jQuery);
$.monplugin.init({
			display : true,
			elemid : '#notify-header',
			elemclass : 'dc-head-request',
			background : "#efefef",
			text : ''
		});
ce code fonctionne bien dans le cas de paramètres tout à fait classique mais si je souhaite structuré de manière plus complexe :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
(function($){
$.monplugin.init= function(settings) {
		var optbox = {
			display : true,
                        box{
                              elemid : '#notify-header',
                              elemclass : 'dc-head-request'
                        },
			background : "#efefef",
			text : ''
		};
		var settings = $.extend({},optbox,settings);
		if(typeof settings != 'object'){
			console.log('settings is not object');
		}
                var $id = $(settings.box.elemid);
alert($id);
}
})(jQuery);
//Si je défini comme ceci pas de problème il fonctionne
$.monplugin.init({
			display : true,
                        box{
                              elemid : '#notify-header',
                              elemclass : 'dc-head-request'
                        },
			background : "#efefef",
			text : ''
		});
Mais dans le cas ou je souhaite utilisé un sous paramètres par défaut :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
$.monplugin.init({
			display : true,
                        box{
                              elemclass : 'dc-head-request'
                        },
			background : "#efefef",
			text : ''
		});
J'ai simplement défini tous les paramètres sauf celui qui est appelé histoire de voir s'il reprend celui par défaut.
Le résultat est un undefined $id