控件輸出的第三段 HTML 代碼塊定義了關鍵的客戶端互動函數 SkyTreeViewControlExpendNodeByID(strID, bolSelect),參數分別為節點 ID 與是否設為當前高亮節點(藍底白字)。
strID 取得展開圖示(_expend)、節點圖示(_icon)、文字元素(_text)、子節點表格(_table)。bolSelect=true,將前一高亮節點(SkyTreeViewControlCurrentTreeNode)樣式還原,設定當前節點為高亮樣式 SkyTreeViewControl_SelectedNode。src 與自訂屬性 SrcBack 實現圖示切換,並切換表格 display 樣式顯示/隱藏。XMLSource 屬性,啟動動態載入流程:
SkyTreeViewControlTempXML。SkyTreeViewControlDynamicRootNodeID 記錄當前載入節點。src 為 XMLSource URL,IE 即開始非同步載入 XML,並觸發 onreadystatechange 事件進入下一階段處理。var xml = document.getElementById('SkyTreeViewControlTempXML');
xml.src = XMLSource; // 觸發非同步載入
dyload = true;
此設計實現了「按需載入」:只有使用者展開特定節點時,才向伺服器請求該節點的子資料,大幅降低首屏載入資料量與渲染壓力。