`this.previous().previous().element == this.element`?
`this.previous().previous().element == 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 版本。我像这样绑定我的 waypoints:
$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),
});
原来是waypoints的分组问题。 .previous()
航路点,不计入分组,按文档顺序出现在当前航路点之后。一旦我将组添加到 waypoints,.previous()
和 .next()
就按预期工作了。
我正在将我的代码从 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 版本。我像这样绑定我的 waypoints:
$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),
});
原来是waypoints的分组问题。 .previous()
航路点,不计入分组,按文档顺序出现在当前航路点之后。一旦我将组添加到 waypoints,.previous()
和 .next()
就按预期工作了。