移除子元素时取消轮事件的动量

时间:2014-07-31 23:02:27

标签: reactjs

我想使用onWheel来实现一个只呈现视图中元素的列表,但是如果我想要键控的子元素,我似乎必须牺牲动量滚动。

请参阅http://jsbin.com/baxajo/1

在此示例中,您可以滚动一百万行,但动量滚动仅适用于灰色区域之外。这是因为触发滚轮时光标下的行元素将从DOM中删除。 (如果你省略第43行的关键属性,动量滚动会再次起作用,因为这样行元素可以重复使用而不是删除。)

有没有办法让容器元素成为wheel事件的目标,而不是瞬态行元素?

也欢迎使用onScroll而不是onWheel来建议避免此问题的替代实施?

(注:受http://emberjs.com/list-view/启发的机制)

1 个答案:

答案 0 :(得分:0)

我刚刚通过修改ng-repeat在angularJS应用程序中解决了这个问题。这可能对您没有帮助,但可能会帮助其他人解决此问题。

您需要做的就是在track by element.id中添加ng-repeat

<li ng-repeat="task in tasks track by task.id">

请参阅: http://www.codelord.net/2014/04/15/improving-ng-repeat-performance-with-track-by/