2012-05-29 13 views
6

我有幾個knockoutjs foreach模板綁定,在我的頁面上的不同位置創建約100 <div class='item' /> - 所有工作都很完美,除了我的後續jQuery調用不起作用,除非我在調試器中停止並在應用jquery綁定之前等待一秒鐘:Knockout.js:ko.applyBindings(viewModel) - >是否有applyBinding的完整事件?

ko.applyBindings(viewModel); 

$(".item").draggable(); 

我一直在尋找,我可以在使用後視圖模型已經被綁定到我的申請綁定數據綁定的事件,但我沒有發現任何東西。

+0

你考慮過'afterRender'綁定嗎? – Tyrsius

+0

對不起,週末休息了!是的,我接受了Render,因爲這是針對每個渲染項目調用的。這是渲染項目可拖動的地方。謝謝! – Eulinky

回答

1

由於Tyrsius提到您可以使用afterRender處理程序,您還可以使用afterAdd處理程序,具體取決於您是否要從列表中添加/刪除項目。這些都包含在foreachtemplate綁定文檔中。

您也可以編寫自己的自定義綁定來執行相同的操作,類似於this example。我建議這是最可維護和可重用的選項,但它有時是過度殺傷。

也就是說,如果你想使用可拖動,那麼已經有一個great custom binding你可以適應。

希望這會有所幫助。

+0

感謝您的回答,看起來確實沒有其他事件。如上所述,我現在使用afterRender,現在看起來很簡單。但是我將這個淘汰賽的項目加入了書籤,因爲我很快就會需要它:)。 – Eulinky

相關問題