`this.previous().上一个().元素== this.element`



我将代码从jQuery-waypoints 2.x升级到4.x,并确定了与this.previous()相关的奇怪行为。我发现在正确时间触发的处理程序中,this.element是正确的。但是,this.previous().element指向DOM中的下一个元素,其通路点,this.previous().previous().element指向与this.element相同的元素。我可以在代码中设置一个断点,并验证了this.previous().previous().element == this.element

我必须想象我在做一些非常错误的事情,或者这是一个错误。我正在使用v4.0.1,并且正在使用jQuery版本。我像这样绑定了我的路点:

$selector.waypoints(
    function goingUp(direction) {
        console.log(this.previous().previous().element == this.element); // true
        console.log(this.next().previous().element == this.element); // true
    }, {
        offset: offsetCalculator(this),
    });

问题被证明是航路点的分组。.previous() Waypoint不计算分组,以文档顺序显示的时间比当前的路点出现。一旦我将小组添加到路点,.previous().next()就可以按预期工作。

最新更新