Показать сообщение отдельно
  #3 (permalink)  
Старый 30.07.2013, 14:18
Аспирант
Отправить личное сообщение для xmlns Посмотреть профиль Найти все сообщения от xmlns
 
Регистрация: 30.07.2013
Сообщений: 47

Спасибо, сделал наподобие Вашего кода, вроде работает:
function initialize(method)
        {
            if(methods[method]) {
                return methods[method].apply( this, Array.prototype.slice.call( arguments, 1 ));
            }
            else if(typeof method === 'object' || ! method ) {
                return methods.init.apply(this, Array.prototype.slice.call( arguments, 1 ));
            }
            else {
                $.error('Метод с именем ' +  method + ' не существует для jQuery.formValidation');
            }
        };
        return this.each(function()
        {
            initialize(options); // зачем писать 'init'? А другие методы?
        });

Хм, в С++ объукты проще делать, прозрачнее=)
Только вот вопрос: не получается расширить переданные опции... Их снова не видно. Что нужно исправить?

PS А если все же написать 'init', то вместо замены старого свойства - новым, который передали, то они оба почему-то видны...
settings = jQuery.extend(settings, options);
                for(var key in settings)
                    {
                        alert(settings[key] + ' ' + key);
                    }

Последний раз редактировалось xmlns, 30.07.2013 в 14:21.
Ответить с цитированием