中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

學(xué)習(xí)YUI.Ext 第六天--關(guān)于樹TreePanel(Part 1)

學(xué)習(xí)YUI.Ext 第五天--關(guān)于樹TreePanel(Part 1) 
效果演示:http://www.ajaxjs.com/yuicn/demos/order_tree.ASP
    樹組件是YUI.Ext 0.40 新增的組件。雖然YUI已經(jīng)自帶有TREE VIEW的組件,但JACK還是決定重新開發(fā)。具體原因在http://www.ajaxjs.com/yuicn/article.ASP?id=20070245(翻譯文章)或http://www.jackslocum.com/blog/2006/12/29/preview-drag-and-drop-enhancements-and-the-new-treepanel/ (原文) 
一、加載一個(gè)同步Tree:
復(fù)制代碼 代碼如下:
var TreeTest = function(){ 
var Tree = YAHOO.ext.tree;// 快捷方式 
return { 
    init : function(){ 
    var tree = new Tree.TreePanel('tree_div', {//需要一個(gè)tree_div的holder 
    animate:true, //是否動(dòng)畫 
    loader: new Tree.TreeLoader({dataUrl:'get_nodes.ASP'}), //調(diào)用一個(gè)JSON 
    enableDD:false,// 是否支持拖放 
    containerScroll: true 
}); 
// 設(shè)置根節(jié)點(diǎn) 
var root = new Tree.AsyncTreeNode({ 
text: 'Frank的作品',  //根節(jié)點(diǎn)文字 
draggable:false, //根節(jié)點(diǎn)是否可拖放 
id:'source' 
}); 
tree.setRootNode(root); 
// 渲染 tree 
tree.render(false,false); 
// false for not recursive (the default), false to disable animation 
root.expand(false,false); 

}; 
}(); 
YAHOO.ext.EventManager.onDocumentReady(TreeTest.init, TreeTest, true);

通過(guò)XHR調(diào)用這個(gè)get_nodes.ASP文件,假設(shè)服務(wù)器返回這樣一個(gè)JSON(有關(guān)JSON的介紹:http://www.json.org/json-zh.html):
[{
"text":"yui-ext.js","id":"http://yui-ext.js","leaf":true,"cls":"file"
} ,{
"text":"yui-ext-1118.php","id":"http://yui-ext-1118.php","leaf":true,"cls":"file"
} ,{
"text":"yui-ext-1228.php","id":"http://yui-ext-1228.php","leaf":true,"cls":"file"
} ,{
"text":"build","id":"http://build","cls":"folder"
} ,{
"text":"source","id":"http://source","cls":"folder"
} ,{
"text":"yui-ext-1123.php","id":"http://yui-ext-1123.php","leaf":true,"cls":"file"
} ,{
"text":"yui-ext-1203.php","id":"http://yui-ext-1203.php","leaf":true,"cls":"file"
} ]
  Server端JSON的輸出(ASP JScript)  

復(fù)制代碼 代碼如下:
var goods = new dbOpen(); 
goods.GetSQL ="select * from goodsbigclass"; 
with(goods){ 
    GetRS(1); 
    var str=""; 
    str+="["; 
    do{ 
        str+='{"text":"'+rs("BigClassName")+'","id":"http://yui-ext.js","leaf":true,"cls":"file","href":"?b_id='+rs("BigClassID")+'"},'; 
        rs.MoveNext(); 
    }while(!rs.EOF); 
    str+="]"; 
    Response.Write(str); 
    Close(); 

goods= null; 

解釋:
“text”-->顯示的文本
"id"-->id值 
“l(fā)eaf”-->Boolean值,如果“葉子”是真的話,則不能包含子節(jié)點(diǎn)Children nodes 
"cls"-->選用的樣式,通常在這里選定圖標(biāo)
”href“-->指定的url,還有一個(gè)”hrefTarget“的屬性
另外,除了以上的屬性,您還可以在JSON加入任何的屬性,作為節(jié)點(diǎn)的屬性,見Jack原話:
The href attribute is called "href", there's also an "hrefTarget" attribute. For capturing node clicks, you can listen on individual nodes or you can listen for "click" on the tree which will pass you the node that was clicked. FYI, you can put any attributes you want in the json config for the node and it will be available as node.attributes. FAQ.4會(huì)繼續(xù)解釋這個(gè)問(wèn)題。
FQA常見問(wèn)題:
1.Tree支持XML數(shù)據(jù)交換嗎?
A:暫不支持,據(jù)FOURM上的話,以后會(huì)提供支持,見:
can I use xml instead of json for sending nodes hirerachy ?
Correct me if I'm wrong but I think the answer is no here. But that doesn't mean it won't be supported later on. 
2.我想用單擊代替雙擊展開子節(jié)點(diǎn),可以嗎?
A:可以,見: 
tree.on('click', function(node){ 
    if(!node.isLeaf()){ 
        node.toggle(); 
    } 
}); 
3.事件處理的幾種情形:
A: a.當(dāng)加入某個(gè)節(jié)點(diǎn)時(shí),為其增加事件 
tree.on('append', function(tree, node){ 
     if(node.id == 'foo'){ 
         // 這里加入你的事件(如click)偵聽器(addListener())
     } 
});b.針對(duì)某個(gè)節(jié)點(diǎn)的單擊事件 
tree.on('click', function(node){ 
     if(node.id == 'foo'){ 
         // do something 
     } 
});c.針對(duì)某個(gè)區(qū)域(集合)的事件 
// fires any time the selection in the tree changes 
tree.getSelectionModel().on('selectionchange', function(sm, node){ 
     if(node && node.id == 'foo'){ 
         // do something 
     } 
}); 
4.如何獲取JSON中的自定義字段(或稱作參數(shù) parameters)
A:JSON對(duì)象已經(jīng)被構(gòu)建函數(shù) construction傳遞到TreeNode中,作為node.attributes 出現(xiàn),所以調(diào)用屬性node.attributes 便可獲取。詳見:http://www.yui-ext.com/forum/viewtopic.php?t=2253 
tree.on('click', function(node){ 
    if(!node.isLeaf()){ 
        node.toggle(); 
    } 
});

JavaScript技術(shù)學(xué)習(xí)YUI.Ext 第六天--關(guān)于樹TreePanel(Part 1),轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲一区欧美 | 一区二区小视频 | 成人欧美一区二区三区色青冈 | 国产乱码精品一区二区三区忘忧草 | 欧美精品久久 | 秋霞电影一区二区 | 午夜久久久久久久久久一区二区 | 黄色国产在线视频 | 精品国产乱码久久久久久闺蜜 | 国产精品18久久久久久白浆动漫 | 国产日产欧产精品精品推荐蛮挑 | 亚洲综合在线一区二区 | 精品国产黄a∨片高清在线 成人区精品一区二区婷婷 日本一区二区视频 | 婷婷色国产偷v国产偷v小说 | 欧美国产日韩精品 | 国产一卡二卡三卡 | 国产免费av网 | 欧美激情精品久久久久久 | a久久| 99久久免费精品国产免费高清 | 国产第二页 | 成人免费一区二区三区牛牛 | 99视频在线看 | 在线观看av网站永久 | 精彩视频一区二区三区 | 精品三区| 日日夜夜草 | 毛片视频网站 | 青青草综合| 91麻豆精品国产91久久久久久 | av黄色在线 | 国产成人精品一区二三区在线观看 | 欧美日韩成人影院 | 国产一区二区在线免费观看 | 日韩免费毛片视频 | 国产91久久久久 | 亚洲一区二区三区 | 一级做a爰片久久毛片免费看 | 九七午夜剧场福利写真 | 中文字幕高清 | 欧美日韩视频在线 |