getBoundingClientRect API生成OnScroll事件

时间:2019-06-15 09:07:07

标签: javascript html reactjs dom

我正在监听我的容器元素(div)之一的Scroll事件, 在该滚动处理程序内部,我使用host(container元素)及其子元素上的getBoundingClientRect API计算其位置,但是有时它将导致不间断的递归OnScroll,在调用堆栈中我发现{{ 1}} API导致了另外一个onScroll事件。

我的问题是:

  1. getBoundingClientRect真的会产生getBoundingClientRect事件吗? 我已经读过here,它将导致UI的重新布局,所以我想这就是为什么它导致以编程方式在后台进行某种滚动的原因
  2. 即使它引起了Onscroll的出现,事件上是否有任何标志可以区分黑白2滚动事件的滚动是由于某些API使用还是用户使用其硬件滚动?

我曾尝试onScrollsetTimeout来消除滚动条的抖动,但是随后,我失去了一些重要的滚动条,增加了去抖动时间

0 个答案:

没有答案