Задать вопрос
Shyrick
@Shyrick

JQuery prototype: почему undefined при попытке чтения/модификации?

Есть необходимость декорировать стандартный метод val() выбранного(не всех) объекта obj = $('input:first') При попытке модификации прототипа obj.prototype.val = function(){ alert(); } вылазит ошибка Uncaught TypeError: Cannot set property 'val' of undefined , которая говорит, что prototype неопределен. Подскажите в чем проблема, какой нюанс я упускаю.
  • Вопрос задан
  • 2365 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
obj уже инициализирована. Хотите декорировать - декорируйте:

obj = decorate(obj, 'val', function (delegate) {
    return function () {
        return delegate.apply(this, arguments);
    }
});

function decorate(obj, prop, factory) {
    obj[prop] = factory(obj[prop]);
    return obj;
}


но вообще все эти функции хранятся в $.fn.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы