Ошибка неперехваченного типа: (промежуточное значение).вкл. — это не функция

#javascript #jquery

Вопрос:

Я обновляю нашу версию jQuery и пытаюсь обновить .bind() инструкции до .on() , но у меня возникают проблемы с получением:

Ошибка неперехваченного типа: (промежуточное значение).вкл. — это не функция

Я думаю, что, возможно, это связано с положением скобок. Я пробовал различные способы обновления на основе предложений с этого сайта, но пока безуспешно.

 return $.getJSON(ASite.BaseURL   'api/dashboard/gadget/content/'   this.id).then(function(data) {
  var resu<
  if (this.processGadgetContent) {
    result = this.processGadgetContent(data);
  } else {
    result = data;
  }
  return resu<
}.on(this)).done(function(data) {
  if (this.gadgetSummaryLoaded) {
    this.gadgetSummaryLoaded(data);
  }
}.on(this)).always(function() {
  this.isLoading(false);
}.on(this));
 

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

Комментарии:

1. Ваш синтаксис неверен. Вы не можете вызвать on() метод jQuery для простого объекта JS. Я даже не уверен, почему вы хотите сделать что — то даже отдаленно похожее-особенно в этом случае, поскольку $.getJSON() это не имеет никакого отношения bind() . Удалите все экземпляры .on(this) , и ваша проблема должна исчезнуть.

2. Как ты думаешь .on(this) , что ты должен делать???

3. Код должен быть просто $.getJSON(...).done(function (){...}).always(function (){...});

4. Похоже, привязки предназначены для нокаута. После обновления кода, как было предложено, я получаю следующие ошибки при загрузке гаджетов: Значение привязки: css: $parent.alertClass($данные, » вкладка -«), нажмите: gadget.selectOption.bind(гаджет), attr: {«aria-выбран»: gadget.isAriaSelected($данные) } Сообщение: сводка.статус не является функцией в AStatusGadget.alertClass (nuim-status.js:26) при оценке (оценка при создании привязки). нокаут-2.3.0.debug. js:2000), <аноним>:3:54)