2016-07-14 13 views
0

Ich habe ein paar Wegpunkte an jeden 'neuen Kommentar' in einer Liste von Kommentaren angehängt, die den Kommentar als gelesen markieren, wenn er angezeigt wird (entweder oben oder Nieder). Ich habe meinen Code aus der Inview-Verknüpfungsdatei entfernt, aber das hat den Senf nicht abgeschnitten, da er die $ .waypoint-Methode zum Anfügen von Wegpunkten nicht unterstützte.Zerstöre alle Wegpunkte eines Elements in einem der Wegpunkthandler

Meine Frage ist, wie kann ich sowohl die up und down Wegpunkte auf einem bestimmten Element aus einem der Wegpunkt-Handler zerstören? Ich kann keine Möglichkeit sehen, alle Wegpunkte für ein bestimmtes Element in der API abzurufen.

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' 

Verzeihen Sie mir das coffeescript;) Ich plane auch, das alles am Ende zu trocknen.

Antwort

0

Es stellte sich heraus, dass es besser war, die Inview-Verknüpfung zu verwenden, wie Sie die destroy()-Methode innerhalb seiner Handler verwenden können. Die Methode Inview destroy zerstört alle 4 hinzugefügten Wegpunkttypen, wenn ein Inview erstellt wird.

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'