从 waypoints 处理程序之一中销毁元素上的所有 waypoints

Destroy all waypoints on an element from within one of the waypoints handlers

我在评论列表中的每个 'new comment' 上附加了几个 waypoints,当评论出现时(向上或向下)将其标记为已读。我的代码基于 Inview 快捷方式文件,但这并没有减少芥末,因为它不支持批量附加 waypoints.

的 $.waypoint 方法

我的问题是,如何从其中一个航路点处理程序中销毁特定元素上的 updown waypoints?我看不到检索 API.

中特定元素的所有 waypoints 的方法
content.find('.comment').has('.metadata > span.new').waypoint
  offset: 'bottom-in-view'
  context: '.content'
  handler: (direction) ->
    comment = $(this.element)
    if direction == 'down'
      this.destroy()
      console.log 'Mark as read'

content.find('.comment').has('.metadata > span.new').waypoint
  offset: 0
  context: '.content'
  handler: (direction) ->
    comment = $(this.element)
    if direction == 'up'
      this.destroy()
      console.log 'Mark as read'

请原谅我的 coffeescript ;) 我也打算最后把这一切都干掉。

事实证明,最好使用 Inview 快捷方式,因为您可以在其处理程序中使用其 destroy() 方法。 Inview destroy 方法销毁创建 Inview 时添加的所有 4 种航路点类型。

for comment in content.find('.comment').has('.metadata > span.new')
  do (comment) ->
    new Waypoint.Inview
      element: comment
      context: content[0]
      entered: (direction) ->
        this.destroy()
        console.log 'Mark as read'