Вам нужно беспокоиться о дублировании событий при использовании функции «on» в jQuery?

0

В проектах, использующих более старые версии jQuery, я иногда вижу такие вещи:

$(window).unbind("scroll").scroll(infiniteScroll);

Я считаю, что это предотвращает дублирование обработчиков событий.

Нужно ли это с более новой on функции? Другими словами, это когда - либо необходимо использовать off прежде чем использовать on?

$(window).off("scroll").on("scroll", infiniteScroll);

Или это безопасно, просто использовать on даже если это может быть связано несколько раз?

$(window).on("scroll", infiniteScroll);
Теги:

1 ответ

2
Лучший ответ

.on() по себе не решает проблему, однако он предоставляет пространства имен, что позволяет решить проблему более надежно.

$(window)
    .off(".mynamespacethatisunique")
    .on("scroll.mynamespacethatisunique", infiniteScroll);
  • 0
    Отличный ответ. Благодарю.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню