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

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

Есть необходимость декорировать стандартный метод val() выбранного(не всех) объекта obj = $('input:first') При попытке модификации прототипа obj.prototype.val = function(){ alert(); } вылазит ошибка Uncaught TypeError: Cannot set property 'val' of undefined , которая говорит, что prototype неопределен. Подскажите в чем проблема, какой нюанс я упускаю.
  • Вопрос задан
  • 2367 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript + ИИ
    11 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию + ИИ
    6 месяцев
    Далее
Решения вопроса 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.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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