jstree用法小結


  jstree是一款功能強大的插件。官網地址http://www.jstree.com/

  

$('#jstree').jstree({
                    "core" : {
                        "animation" : 0,
                        "themes" : { "dots": true,"icons":true ,"stripes":false},
                        "check_callback" : true,
                        "multiple" : false,
                        'data' : data
                    },
                    "types" : {
                        "#" : { "max_children" : 5,
                            "max_depth" : 11 , 
                        }, 
                        "default" : {
                            "icon" : "false",
                            "valid_children" : ["default","text"]
                        },
                        "text" : {
                            "icon" : "false",
                            "valid_children" : []
                        }
                    },
                    "plugins" : [ "state", "types", "wholerow" ]
                });

  $.jstree.defaults.core 級有很多api,可以在初始化時設置。

  如果對樹的分層有要求,特別是葉子節點作為文檔,父節點作為文件夾這類要求時,要對type做出設置。

-------------------------------------------------------------------------------------------------

  • max_children 當前節點最多擁有的孩子樹。不設置或設置為-1代表無窮。
  • max_depth 當前節點最多能含有的子節點。如1代表有孩子節點,沒有孫子節點。不設置或設置為-1代表無窮。
  • valid_children 一個string組成的數組。代表這些string類型可以含有孩子節點.不設置或設置為-1代表無窮。
  • icon a 一個 string,可以是路徑或者className。如果用當前目錄下的img,路徑設為./xxx.png,不然會被設置為class。省略的話會用default的icon作為你的theme

There are two predefined types:

  • # 代表根節點的id.
  • default 所有沒設定的屬性都按照default來.

-------------------------------------------------------------------------------------------------

      在types里,我為#設置了最深層次為11,給default設置了可以擁有default和text的子節點,給text子節點設置為空。這樣新建一個text節點就不能再建立子節點了。

    由於項目要求不需要icon,所以把icon設定為false。

    項目要求折疊樹設置為 + 和 - 號,我們可以改變style.min.css的jstree默認css文件,插入我們自己的圖片。它默認的圖標是放在一張大圖里的,通過background的position來定位。要小心icon和折疊處的圖在一起,改變其中一個可能會影響到其他的。可以根據他們所處的class增加一些css源文件代碼。

      plugins是jstree的插件array。它的插件可以實現拖拽等功能。需要添加的插件放入這個array就可以了。

--------------------------------------------------------------------------------------------------

  create,rename,remove,upmove,downmove

  

var ref = $('#jstree').jstree(true),
      sel = ref.get_selected(); 

      ref是獲取整個jstree(不懂怎么描述。。。api里的很多都要以ref開頭);

  ref.get_node(sel)獲取sel節點

  ref.delete_node(sel);刪除節點

  sel = ref.create_node(sel, {"type":"text"}); 新建節點


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM