Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Обработка событий (https://javascript.ru/forum/jquery/41768-obrabotka-sobytijj.html)

MakTpaxep 28.09.2013 16:31

Обработка событий
 
Пишу корзину на jQuery. Проблема с навешиванием событий. Когда новые элементы DOM приходят через ajax, приходится заново вешать на них события.
Это уже начинает выглядеть странно. Например в корзине у каждого продукта красный крестик:
$(".remove").click...
Весь контент страницы обновляется через ф-ю html. Уже без товара. И опять надо устанавливать
$(".remove").click...
потому что все .remove пришли заново.
У меня ощущение, что это неправильно. Потому что на странице уже туча элементов, которые обновляют контент. И после этого все обработчики событий надо вешать заново.

Как избежать этого?

danik.js 28.09.2013 18:15

Например можно делегировать обработку события.
$('.cart').on('click', '.remove', function() {
    // отработает при клике по элементу с классом .remove
});


Часовой пояс GMT +3, время: 09:22.