Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.01.2017, 20:49
Аватар для Bologercs
Интересующийся
Отправить личное сообщение для Bologercs Посмотреть профиль Найти все сообщения от Bologercs
 
Регистрация: 03.11.2013
Сообщений: 13

defaults проблема
Есть допустим такой плагин. В нем есть приватная функция, которая перезаписывает текущие defaults настройки плагина на те, которые были введены при инициализации конструктора.
(function() {
    this.MyPlugin = function() {
        this.streamers = null;

        var defaults = {
            appId: '',
            container: '#some-container',
            anotherCont: '#some-container-1'
        }

        if (arguments[0] && typeof arguments[0] === "object") {
            this.options = extend(defaults, arguments[0]);
        }
    }

    function extend(defaults, options ) {
        var extended = {};
        var prop;
        for (prop in defaults) {
            if (Object.prototype.hasOwnProperty.call(defaults, prop)) {
                extended[prop] = defaults[prop];
            }
        }
        for (prop in options) {
            if (Object.prototype.hasOwnProperty.call(options, prop)) {
                extended[prop] = options[prop];
            }
        }
        return extended;
    };
}());


<script>
<script>
	var MP= new MyPlugin({
		appId: 999999, 
		container: '#hello-world',
		anotherCont: '#hello-world2'
	});
</script>


В итоге получается следующее: что в конструктор попадает только appId и все. Как сделать так, чтобы '#hello-world' и '#hello-world2' тоже заменились в defaults. Заранее спасибо за помощь.

Последний раз редактировалось Bologercs, 18.01.2017 в 21:16.
Ответить с цитированием
  #2 (permalink)  
Старый 18.01.2017, 20:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от Bologercs
Как сделать так, чтобы '#hello-world' и '#hello-world2' тоже заменились в defaults
а почему вы уверены, что это не так?
Ответить с цитированием
  #3 (permalink)  
Старый 18.01.2017, 21:12
Аватар для Bologercs
Интересующийся
Отправить личное сообщение для Bologercs Посмотреть профиль Найти все сообщения от Bologercs
 
Регистрация: 03.11.2013
Сообщений: 13

Сообщение от рони Посмотреть сообщение
а почему вы уверены, что это не так?
Потому что это должно работать. Вопрос только в одном: почему оно не работает.
В прошлой раз такой проблемы не было. Сейчас уже не могу найти свой старый код, так бы сюда не писал.

Есть варианты как решить эту проблему?
Ответить с цитированием
  #4 (permalink)  
Старый 18.01.2017, 21:36
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Bologercs, используй [JS run] и покажи как ты определил что что-то не попадает куда-то.
Ответить с цитированием
  #5 (permalink)  
Старый 18.01.2017, 22:52
Аватар для Bologercs
Интересующийся
Отправить личное сообщение для Bologercs Посмотреть профиль Найти все сообщения от Bologercs
 
Регистрация: 03.11.2013
Сообщений: 13

Все решилось... По тупости изменял другой файл и не мог понять почему у меня не получалось отправить новые настройки для плагина.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с меню аккордеон masaniachko jQuery 10 17.06.2018 14:25
Проблема с радио кнопками px379 Общие вопросы Javascript 8 29.07.2013 09:30
Проблема с панелью вкладок в окне Eugent ExtJS 0 27.07.2012 15:19
Проблема с обработкой ескольких .hover() anocean jQuery 3 15.06.2012 22:43
Проблема спама lliberty AJAX и COMET 1 12.03.2009 16:47