2012-07-31 31 views
0

我有代碼會在加載時觸發,並根據ID獲取對象。它返回null。.aspx頁面JS在控制器似乎被呈現出於某種原因之前會觸發Onload腳本

<script type = "text/javascript"> 
    $(function(){ 
     var TV = $find("FieldTreeViewer"); 
    }); 
</script> 
<body> 
    <telerik:RadTreeView OnClientNodeExpanded="nodePopulating" OnClientNodeClicked="checkLeaf" runat="server" ID = "FieldTreeViewer"> 
    </telerik:RadTreeView> 
</body> 

看來,onload將返回null,但如果我進入控制檯並重新輸入var TV語句,它將分配它。我覺得控制還沒有呈現。我將如何去做,使頁面呈現之前觸發該功能?

我知道asp有onLoad,onInit等,但這純粹是標記,幕後沒有魔法。

我只是認爲標記會呈現,然後當頁面加載完成後,我可以調用一個函數來通過ID引用控件。

+0

正在對頁面加載創建的控制,而不是準備好了? – epascarello 2012-07-31 15:49:47

+1

有趣的...你有沒有嘗試將該功能移動到'$(window).load(function(){ var TV = $ find(「FieldTreeViewer」); });'而不是? – Icarus 2012-07-31 15:52:03

+0

我不知道該如何判斷。該控件是從我的代碼粘貼cpy +。我在後端沒有任何東西在onLoad等。 – Fallenreaper 2012-07-31 15:52:09

回答

1

嘗試window.load執行你的代碼,而不是,像這樣:

$(window).load(function() 
{ 
    var TV = $find("FieldTreeViewer"); 
}); 
+0

謝謝@Icarus,它現在按預期工作。 – Fallenreaper 2012-07-31 16:08:19

相關問題