Uncaught TypeError: Object [object Object] не имеет метода 'live'

Получение этой ошибки:

Uncaught TypeError: Object [object Object] has no method 'live'

Из этого кода JavaScript и jQuery:

init: function(options) {
  var form = this;
  if (!form.data('jqv') || form.data('jqv') == null ) {
    options = methods._saveOptions(form, options);
    // bind all formError elements to close on click
    $(".formError").live("click", function() {

      //Getting error here:
      //Uncaught TypeError: Object [object Object] has no method 'live'

    });
  }
  return this;
};

Почему метод live отсутствует?

Ответы

Ответ 1

.live удален в jquery 1.9

См. DOC: http://api.jquery.com/live/


Попробуйте вместо этого использовать .on:

$(document).on('click', '.formError', function(){ 
   //your event function
});

Ответ 2

В соответствии с документация, .live() устарела с 1.7 и удалена в 1.9.

Вам придется либо отказаться от jQuery, либо использовать более новую версию плагина проверки, если она доступна.

Ответ 3

.live() удален

Метод .live() устарел с момента jQuery 1.7 и был удален в 1.9. Мы рекомендуем обновить код для использования метода .on().

Чтобы точно соответствовать

    $("a.foo").live("click", fn)

Вы должны написать

    $(document).on("click", "a.foo", fn).

Для получения дополнительной информации см. документацию . on(). В то же время плагин jQuery Migrate может быть дополнительно использован для восстановления функциональности .live().

Ответ 4

Там есть библиотека переноса, которая поможет вам перейти от предыдущих версий jQuery при обновлении: jQuery migrate plugin. Вы должны включить его в свой источник после jQuery. На сайте jQuery:

Несжатая версия разработки плагина jQuery Migrate включает вывод журнала консоли для предупреждения, когда используются устаревшие и/или удаленные функции. Это делает его ценным инструментом для отладки миграции для поиска и устранения проблем в существующем коде jQuery и плагинах. Его можно использовать для его диагностики с версиями ядра jQuery вплоть до 1.6.4.

Сжатая версия плагина не генерирует никаких выходных данных журнала и может использоваться на производственных сайтах, когда требуется jQuery 1.9 или выше, но также должен использоваться старый несовместимый код jQuery или плагины. В идеале это будет использоваться только в качестве краткосрочного решения, но это решение для вас.