Waypoint 3.0中的triggerOnce选项发生了什么变化?

Yar*_*ron 5 jquery-waypoints

我最近在我的项目中将jquery-waypoints从2.x升级到3.x,发现我的很多代码都破了.$(this)我的处理程序中的所有引用都必须更改为$(this.element),一旦我发现是我的麻烦的原因,很容易修复.

我无法弄清楚该triggerOnce选项会发生什么,这会阻止航点多次发射.知道为什么删除它,我怎么能实现相同的功能?

ima*_*ngs 6

我知道答案已被标记为正确,但我想扩展一个简单的评论.

3.0,作为主要版本,做出了重大改变.其中一个是删除triggerOnce.在更改日志中注明.在破坏文档中也提到了在destroy处理程序结束时使用它作为旧的替代方法triggerOnce.

以前,triggerOnce与调用不完全相同,destroy因为所有Waypoint方法都在jQuery对象上调用.这些jQuery对象中的元素可能有多个路点附加到它们,但是一旦创建它们就无法将它们分开.如果你调用destroy了那个元素上的所有路点都被销毁了.triggerOnce然而,该选项在幕后以单独的航路点为基础.现在3.0直接返回Waypoint类的实例,并且this在处理程序内是对Waypoint实例而不是元素的引用,triggerOnce并且调用this.destroy()结束处理程序之间没有区别.所以代码被删除了.


Yar*_*ron 2

我想出了一个解决办法。将 this.disable() 添加到处理程序的末尾会在触发后禁用路点,从而防止再次调用它。我真的认为这应该记录下来。