Обновление слушателя событий Javascript

У меня есть javascript, который я унаследовал для своей работы. В этом javascript у нас есть боковая панель, которая постоянно обновляется (каждые 1-10 минут). В скрипте мы анализируем и обрабатываем AJAX с сервера, а затем вызываем интересную функцию.

function renewClicks(){ $('.classElem').unbind('click'); $('.classElem2').unbind('click'); $('.classElem3').unbind('click'); $('.classElem').click(elm1funct); $('.classElem2').clikc(elm2funct); $('.classElem3').click(elm3funct); } 

Где .classElem – селектор classа css, который добавляется к каждому изображению, которое добавляется на страницу. И elmfunct – это функция, написанная для обработки щелчка. Это выполняется при каждом обновлении (деавторизация действительных уже добавленных элементов, а затем повторное их добавление). Я хочу знать, есть ли способ, которым я могу подключить слушателя к элементу body в DOM, чтобы все элементы изображения, добавленные на страницу и наследующие class css, уже были обработаны и, следовательно, не были незарегистрированы, регистрируется при каждом обновлении.

Спасибо за любую информацию, которую вы можете предоставить.

Solutions Collecting From Web of "Обновление слушателя событий Javascript"

Вы можете попробовать следующее:

 $('body').on('click','.classElem',elm1funct) .on('click','.classElem2',elm2funct) .on('click','.classElem3', elm3funct); 

Из документов jQuery :

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

Как упоминалось в @crush, используйте делегированный по событию подход, чтобы избежать развязывания и повторного связывания событий:

 $(document).on('click', '.classElem', elm1funct);