Несколько экземпляров плагина jQuery не получают настройки по умолчанию - PullRequest
0 голосов
/ 03 марта 2012

В настоящее время я пишу плагин, и наткнулся на него, и из него я узнал, что из поиска в stackoverflow есть представление о том, что не так, но не знаю, как его кодировать.

Плагин действительно длинный, поэтому я выбрал только основы. Плагин работает отлично и загружает все настройки по умолчанию для первого объекта. Пользовательские настройки корректно переопределяют значения по умолчанию. Все работает с 1 плагином вызова. Как только вызывается другой экземпляр плагина, регистрируются только те параметры, которые были переданы - все остальные значения по умолчанию даже не отображаются .... Из-за осмотра я думаю, что мне нужно использовать .data ? но я не уверен и предпочел бы знать, КАК и ПОЧЕМУ это работает, а не просто копировать и вставлять код ... так что, надеюсь, кто-то может помочь мне с четким ответом. Ниже приведен сокращенный код, который у меня есть:

;(function($){ 
   jQuery.fn.OnStage=function(options){ 
      var defaults={ ... default settings ... }, 
      o=$.extend(true, {}, defaults, options); return    
this.each(function(){ ....                                                  

Спасибо!

1 Ответ

1 голос
/ 03 марта 2012

Ваш объект опций является глобальным .... изменить на

var  o=$.extend

Если они будут глобальными, они примут значение последнего установленного значения и будут одинаковыми для всех экземпляров

РЕДАКТИРОВАТЬ: добавление настроек к данным элемента является обычной практикой и может помочь легко проверить значения в консоли

...