Je suis en train de développer quelques plugins jQuery pour un site web client qui permettra de styliser des éléments de formulaire tels que des radios, des cases à cocher et des sélections. Je les ai développés comme trois plugins séparés dans le même fichier, et tandis que les plugins radio et checkbox semblent bien fonctionner les uns aux autres, mon select me donne des problèmes car il semble arrêter la radio et la case à cocher de travailler! Si je l'enlève, les deux autres fonctionnent bien.Conflit entre deux plugins jQuery?
Je présume que j'ai une sorte de conflit entre eux, mais je ne suis pas sûr de l'endroit où il pourrait être. Si je commente tout le code du plugin select en dehors de sa déclaration "settings", la radio et la case à cocher sont cassées. Si je supprime les paramètres, les radios et les cases à cocher recommencent à fonctionner, il semble donc que le conflit est dans les paramètres.
J'ai déclaré que les options du plugin même dans les trois (avec leurs propres valeurs par défaut):
jQuery.fn.ioFormSelect = function(options) {
//Default options.
settings = jQuery.extend({
'maxOptions': 8,
'fieldClass': 'ui-field-select',
'selectedClass': 'ui-field-selected',
'openClass': 'ui-field-select-open',
'closeClass': 'ui-field-select-close',
'disabledClass': 'ui-field-disabled',
'optionClass': 'ui-field-option',
'optionGroupClass' : 'ui-field-option-group'
}, options);
//Plugin code
});
Qu'est-ce que je fais mal? Je pensais que les variables déclarées de cette manière étaient «locales», les «globales» étant définies par le mot «var» à l'avance. Dois-je avoir une variable de paramètres séparée pour chaque plugin? : S Merci beaucoup d'avance pour tout conseil. :)
Merci! Venant d'un environnement PHP à Javascript, alors que je peux obtenir un script de travail assez rapidement, beaucoup de ces points plus fins ne me sont pas familiers. :) – Fourjays