В проектах, использующих более старые версии jQuery, я иногда вижу такие вещи:
$(window).unbind("scroll").scroll(infiniteScroll);
Я считаю, что это предотвращает дублирование обработчиков событий.
Нужно ли это с более новой on
функции? Другими словами, это когда - либо необходимо использовать off
прежде чем использовать on
?
$(window).off("scroll").on("scroll", infiniteScroll);
Или это безопасно, просто использовать on
даже если это может быть связано несколько раз?
$(window).on("scroll", infiniteScroll);
.on()
по себе не решает проблему, однако он предоставляет пространства имен, что позволяет решить проблему более надежно.
$(window)
.off(".mynamespacethatisunique")
.on("scroll.mynamespacethatisunique", infiniteScroll);