Проблема работы с 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«. 

В связи с этой проблемой открываю новый раздел, куда можно публиковать свои проблемы и их решение в разработке сайтов раздел так и называю «Проблемы и решения».

Просьба всех кто прочитал и столкнулся с похожей проблемой, как-то прокомментировать это.


Читайте также:

1 комментарий

  1. Алексей Гор:

    вот что сказано в документации

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

    As of jQuery 1.7, the .live() method is deprecated. Use .on() to attach event handlers. Users of older versions of jQuery should use .delegate() in preference to .live().

    Т.е. в версии 1.9 нужно использовать .on()
    В ранних версиях настоятельно рекомендуется использовать delegate()
    вместо live().
    Чтобы упростить себе жизнь, просто используйте on() для версии 1.7 и cтарше

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Шаблоны для WordPress
Самый лучший хостинг в Украине
Стабильный хостинг для Drupal