2012-10-04 23 views
2

我正在使用敲除外部模板引擎創建我的網頁的一部分。模板裏面有一個ul,我想在其上執行一個函數。如何在加載Knockout.js模板時觸發事件

<ul id="myTags"></ul 

所以,舉例來說,一旦模板已經從服務器加載,我想調用一些方法:

$("#myTags").doSomething(...) 

如何調用該方法,一旦模板已經從下載服務器,並插入到文檔中?注:這種情況可能發生不止一次....

回答

4

template結合確實有一個afterRender回調,你可以用它來處理新的元素:http://knockoutjs.com/documentation/template-binding.html#note_3_using_afterrender_afteradd_and_beforeremove

我不知道你想和你的元素做什麼,但我會考慮使用自定義綁定這個目的。自定義綁定描述:http://knockoutjs.com/documentation/custom-bindings.htmlhttp://www.knockmeout.net/2011/07/another-look-at-custom-bindings-for.html

即使你只是用你的自定義綁定的init功能,它將運行每一個模板渲染的時候。

0

,我做這使用jQuery的liveQuery插件的方式:

$('#myTags').livequery(doSomething); 

有沒有更好的辦法?

相關問題