API getBoundingClientRect, генерирующий событие OnScroll - PullRequest
0 голосов
/ 15 июня 2019

Я слушаю событие прокрутки для одного из моих элементов контейнера (div), Внутри этого обработчика прокрутки я использую getBoundingClientRect API на хосте (элемент контейнера) и его дочерний элемент для вычисления их позиции, но иногда это приводит к безостановочной рекурсивной OnScroll, в стеке вызовов я обнаружил, что getBoundingClientRect API приводит к еще одному событию onScroll.

Мои вопросы здесь:

  1. getBoundingClientRect действительно генерировать событие Onscroll? Я прочитал здесь , что это приведет к изменению структуры пользовательского интерфейса, поэтому я думаю, именно поэтому оно вызывает программную прокрутку за сценой
  2. Даже если это вызывает onScroll за сценой, существует ли какой-либо флаг на событии, по которому я могу различить ч / б прокрутку события прокрутки 2, из-за использования какого-либо API или использования пользователем своего оборудования для прокрутки?

Я пытался setTimeout, requestAnimationFrame отменить прокрутку, но затем я теряю некоторые важные события прокрутки. Я увеличил время отката

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...