2013-04-16 69 views
3

我被困在使用ajax向dom注入路點的情況下。這些新元素不會觸發在dom更改之前創建的現有航點。Jquery Waypoints使用ON

有沒有辦法使用jquerys On事件與航點?

我使用的航點2.0.2 http://imakewebthings.com/jquery-waypoints/ 的什麼,我試圖做的是,一個例子情況下重新instert仍然可以使用適用於具有.waypoint

問題中指定的元素航點的航點方法我的意思是,在我插入新的路標後,他們不會觸發。

當您在dom加載一次後動態插入一個具有點擊功能的元素時,會出現類似問題,您無法使用.click,您使用.on(「click」,element「,function(爲了得到這個工作)

一種方法是使用只重新創建航點內的航點:

(「.nacho」)航點(函數(方向)

除了這並不原因在我的情況下工作是所有以前觸發或滾動過去的方式觸發器都會觸發。

<div class="nacho"> 

</div> 
<script> 
$(document).ready(function(){ 
    $("body").on("waypoint", ".nacho", function(event){ 

    //alert("test"); 

    }); 

    $(".nacho").waypoint(function(direction){ 
    alert("test"); 
     $("body").append("<div class=nacho>html to force the window down</div>"); 
    } , { offset: "bottom-in-view" }); 


}); 
</script> 

我試圖重新插入航點的納喬返回到DOM,這樣做後,即使這個ON,航點不會觸發。

+0

你試過了嗎?看起來很明智。 –

+0

是的,我試過了 –

+0

好的,所以我們需要知道如何讓你的問題得到解答:1.你試過的是什麼,2.結果是什麼,以及3.你想要什麼結果。請明確點。 –

回答

3

在更新DOM,發出刷新:

$.waypoints('refresh') 

的文檔:http://imakewebthings.com/jquery-waypoints/#docs

$ .waypoints( '刷新')

這將迫使各航點的觸發的重新計算點基於其偏移量選項。無論何時調整窗口大小或添加新的航點,都會自動調用此功能。如果您的項目正在更改DOM或頁面佈局而未執行其中一項操作,則可能需要手動調用它。

+0

謝謝你指出。我試圖在目前使用這種刷新,似乎陷入循環。 我可能是錯的,但我認爲刷新過去觸發的觸發點。 我會嘗試使用此刷新併發布進度 –