Bonjour à tous.
J'ai créé un plugin JQuery, voici le code réduit au minimum :
Et un exemple de la manière dont je souhaite l'utiliser :
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 (function($) { $.fn.myPlugin = function(param, value) { //On récupère les paramètres. var params = { click : false } if ($.isPlainObject(param)) { params = $.extend(params, param); } else if(param == "click" && typeof value == 'function'){ params.click = value; } //On parcourt les noeuds. this.each(function() { //Action du click : $(this).click(function() { if (params.click && typeof(params.click) == "function" ) { params.click.call(); } }); }); //Chaînage JQuery. return this; }; })(jQuery);
Mon problème est que je n'arrive pas à modifier mon paramètre une fois que l'objet a été instancié : dans l'exemple ci-dessus, cliquer sur "a.test" m'affichera "!" et non "test".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 $(document).ready(function() { $("a").myPlugin({ click:function() { alert("!"); } }); $("a.test").myPlugin("click", function() { alert("test"); }); });
Il y a un truc que je n'ai pas compris, manifestement! Si quelqu’un peut me mettre sur la voie, ce serait super cool.
J'ai pas trouvé grand chose sur le sujet sur le net.
Merci d'avance.
Partager