我正在将我的代码从jquery 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),
});发布于 2018-05-01 18:41:56
问题的症结在于路点的组合。.previous()路径点(不包括分组)按文档顺序出现的时间比当前路径点晚。一旦我将组添加到路径点,.previous()和.next()就可以按预期工作了。
https://stackoverflow.com/questions/50051908
复制相似问题