Проблема роботи з jquery 1.7

Вчора один із моїх сайтів перестав працювати і я почав шукати проблему. Почав із конслої та побачив, що лайка йде на код приблизно наступного виду:

$(selector).live(events, data, handler);

Причому проблема була саме в тому, що відбулися зміни у старій версії jquery, а саме у версії 1.7. З офіційних джерел я дізнався що .live() був замінений на .on() і що ця дія є застарілою. Хоча до цього сайт відмінно працював і як стара версія jquery не повинна б змінюватися. Трохи пізніше наступного дня на фо. сайті я побачив рядок version deprecated: 1.7, removed: 1.9.

Проблема була вирішена заміною однієї версії бібліотеки jquery 1.7 на іншу jquery 1.9 і в новій метод .on() вже не працював, але добре працював метод .live() про яке писали, що він застарів. Слідкуватимемо за цими методами, можливо, ще щось зміниться.

Стаття була мною написана для тих розробників, хто перебувати в моїй спільноті як попередження “Перевірте роботу своїх сайтів, особливо там, де використовувався ajax“.

У зв'язку з цією проблемою відкриваю новий розділ, куди можна публікувати свої проблеми та їх вирішення у розробці сайтів розділ так і називаю “Проблеми та рішення”.

Прохання всіх хто прочитав і зіткнувся зі схожою проблемою, якось прокоментувати це.

Ніколаєнко Максим

Директор веб-студии ProGrafika. Займаюсь розробкою, дизайном та просуванням веб-сайтів. Завжди радий новим читачам блогу та добрим клієнтам.


Вам також може сподобатися...

1 Відповідь

  1. Олексій Гор :

    ось що сказано у документації

    http://api.jquery.com/live/

    Станом на jQuery 1.7, .live() метод застарів. Використовуйте .on() щоб приєднати обробники подій. Користувачам старіших версій jQuery слід використовувати .delegate() надає перевагу .live().

    тобто. у версії 1.9 потрібно використовувати .on()
    У ранніх версіях рекомендується використовувати delegate()
    замість жити().
    Щоб спростити собі життя, просто використовуйте on() для версії 1.7 і дітей

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються ваші дані коментарів.

Шаблони для WordPress
Найкращий хостинг в Україні
Стабільний хостинг для Drupal