Показать сообщение отдельно
Старый 27.11.2017, 18:55
Appleman вне форума Посмотреть профиль Отправить личное сообщение для Appleman Найти все сообщения от Appleman
  № 25  
Ответить с цитированием
Appleman
 
Аватар для Appleman

Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 483
Цитата:
Сообщение от ZergMaster Посмотреть сообщение
в данном случае реализуется "баблинг" событий. Единожды добавляем на контейнер слушатели OVER и OUT, чтобы не создавать бесчисленное множество слушателей (ведь объектов с всплывающей подсказкой может быть очень много). Всякий раз, как событие срабатывает, проверяем, не идентичен ли target одному из объектов, которые мы зарегали в бабл-коллекции. Если да, то тут уже добавляем MOVE слушатель, чтобы двигать за мышкой подсказку. Когда же происходит OUT - слушатель удаляется. Таким образом, на все про все используется два постоянных и один временный слушатель.
Ясно. А что с прекращением регистрации объектов? Насколько я понимаю, с одной стороны, при таком подходе никакие приёмники событий не "зависнут", и мы можем даже не делать "unregister" для добавленных объектов. У тебя даже такого метода в классе нет. С другой стороны, что будет происходить, если мы, например, захотим выводить численное значение какого-то параметра при наведении мышки на его шкалу? Мне кажется, твой класс не справится с такой задачей, т.к. description для графического объекта (собственно шкалы) он получил в момент её регистрации, и его уже будет не обновить.