diydom.html 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. <!DOCTYPE html>
  2. <HTML>
  3. <HEAD>
  4. <TITLE> ZTREE DEMO - addHoverDom / removeHoverDom / addDiyDom</TITLE>
  5. <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  6. <link rel="stylesheet" href="../../../css/demo.css" type="text/css">
  7. <link rel="stylesheet" href="../../../css/zTreeStyle/zTreeStyle.css" type="text/css">
  8. <script type="text/javascript" src="../../../js/jquery.min.js"></script>
  9. <!-- <script type="text/javascript" src="../../../js/jquery-1.4.4.min.js"></script>-->
  10. <script type="text/javascript" src="../../../js/jquery.ztree.core.js"></script>
  11. <script type="text/javascript" src="../../../js/jquery.ztree.excheck.js"></script>
  12. <script type="text/javascript" src="../../../js/jquery.ztree.exedit.js"></script>
  13. <SCRIPT type="text/javascript">
  14. <!--
  15. var IDMark_Switch = "_switch",
  16. IDMark_Icon = "_ico",
  17. IDMark_Span = "_span",
  18. IDMark_Input = "_input",
  19. IDMark_Check = "_check",
  20. IDMark_Edit = "_edit",
  21. IDMark_Remove = "_remove",
  22. IDMark_Ul = "_ul",
  23. IDMark_A = "_a";
  24. var setting = {
  25. view: {
  26. addHoverDom: addHoverDom,
  27. removeHoverDom: removeHoverDom,
  28. addDiyDom: addDiyDom
  29. }
  30. };
  31. var zNodes =[
  32. {id:1, name:"Hover DOM", open:true,
  33. children:[
  34. {id:11, name:"button 1-1"},
  35. {id:12, name:"button 1-2"},
  36. {id:13, name:"select box 1-3"},
  37. {id:141, name:"text 1-4-1"},
  38. {id:142, name:"text 1-4-2"},
  39. {id:15, name:"hyperlinks 1-5"}
  40. ]},
  41. {id:2, name:"General DOM", open:true,
  42. children:[
  43. {id:21, name:"button 2-1"},
  44. {id:22, name:"button 2-2"},
  45. {id:23, name:"select box 2-3"},
  46. {id:24, name:"text 2-4"},
  47. {id:25, name:"hyperlinks 2-5"}
  48. ]}
  49. ];
  50. function addHoverDom(treeId, treeNode) {
  51. if (treeNode.parentNode && treeNode.parentNode.id!=1) return;
  52. var aObj = $("#" + treeNode.tId + IDMark_A);
  53. if (treeNode.id == 11) {
  54. if ($("#diyBtn_"+treeNode.id).length>0) return;
  55. var editStr = "<span id='diyBtn_space_" +treeNode.id+ "' >&nbsp;</span><span class='button icon03' id='diyBtn_" +treeNode.id+ "' title='"+treeNode.name+"' onfocus='this.blur();'></span>";
  56. aObj.append(editStr);
  57. var btn = $("#diyBtn_"+treeNode.id);
  58. if (btn) btn.bind("click", function(){alert("diy Button for " + treeNode.name);});
  59. } else if (treeNode.id == 12) {
  60. if ($("#diyBtn_"+treeNode.id).length>0) return;
  61. var editStr = "<span class='button icon04' id='diyBtn_" +treeNode.id+ "' title='"+treeNode.name+"' onfocus='this.blur();'></span>";
  62. aObj.after(editStr);
  63. var btn = $("#diyBtn_"+treeNode.id);
  64. if (btn) btn.bind("click", function(){alert("diy Button for " + treeNode.name);});
  65. } else if (treeNode.id == 13) {
  66. if ($("#diyBtn_"+treeNode.id).length>0) return;
  67. var editStr = "<span id='diyBtn_space_" +treeNode.id+ "' >&nbsp;</span><select class='selDemo ' id='diyBtn_" +treeNode.id+ "'><option value=1>1</option><option value=2>2</option><option value=3>3</option></select>";
  68. aObj.after(editStr);
  69. var btn = $("#diyBtn_"+treeNode.id);
  70. if (btn) btn.bind("change", function(){alert("diy Select value="+btn.attr("value")+" for " + treeNode.name);});
  71. } else if (treeNode.id == 141) {
  72. if ($("#diyBtn_"+treeNode.id).length>0) return;
  73. var editStr = "<span class='test' id='diyBtn_" +treeNode.id+ "'>Text Demo...</span>";
  74. aObj.append(editStr);
  75. } else if (treeNode.id == 142) {
  76. if ($("#diyBtn_"+treeNode.id).length>0) return;
  77. var editStr = "<span id='diyBtn_" +treeNode.id+ "'>Text Demo...</span>";
  78. aObj.after(editStr);
  79. } else if (treeNode.id == 15) {
  80. if ($("#diyBtn1_"+treeNode.id).length>0) return;
  81. if ($("#diyBtn2_"+treeNode.id).length>0) return;
  82. var editStr = "<a id='diyBtn1_" +treeNode.id+ "' onclick='alert(1);return false;' style='margin:0 0 0 5px;'>link_1</a>" +
  83. "<a id='diyBtn2_" +treeNode.id+ "' onclick='alert(2);return false;' style='margin:0 0 0 5px;'>link_2</a>";
  84. aObj.append(editStr);
  85. }
  86. }
  87. function removeHoverDom(treeId, treeNode) {
  88. if (treeNode.parentTId && treeNode.getParentNode().id!=1) return;
  89. if (treeNode.id == 15) {
  90. $("#diyBtn1_"+treeNode.id).unbind().remove();
  91. $("#diyBtn2_"+treeNode.id).unbind().remove();
  92. } else {
  93. $("#diyBtn_"+treeNode.id).unbind().remove();
  94. $("#diyBtn_space_" +treeNode.id).unbind().remove();
  95. }
  96. }
  97. function addDiyDom(treeId, treeNode) {
  98. if (treeNode.parentNode && treeNode.parentNode.id!=2) return;
  99. var aObj = $("#" + treeNode.tId + IDMark_A);
  100. if (treeNode.id == 21) {
  101. var editStr = "<span class='demoIcon' id='diyBtn_" +treeNode.id+ "' title='"+treeNode.name+"' onfocus='this.blur();'><span class='button icon01'></span></span>";
  102. aObj.append(editStr);
  103. var btn = $("#diyBtn_"+treeNode.id);
  104. if (btn) btn.bind("click", function(){alert("diy Button for " + treeNode.name);});
  105. } else if (treeNode.id == 22) {
  106. var editStr = "<span class='demoIcon' id='diyBtn_" +treeNode.id+ "' title='"+treeNode.name+"' onfocus='this.blur();'><span class='button icon02'></span></span>";
  107. aObj.after(editStr);
  108. var btn = $("#diyBtn_"+treeNode.id);
  109. if (btn) btn.bind("click", function(){alert("diy Button for " + treeNode.name);});
  110. } else if (treeNode.id == 23) {
  111. var editStr = "<select class='selDemo' id='diyBtn_" +treeNode.id+ "'><option value=1>1</option><option value=2>2</option><option value=3>3</option></select>";
  112. aObj.after(editStr);
  113. var btn = $("#diyBtn_"+treeNode.id);
  114. if (btn) btn.bind("change", function(){alert("diy Select value="+btn.attr("value")+" for " + treeNode.name);});
  115. } else if (treeNode.id == 24) {
  116. var editStr = "<span id='diyBtn_" +treeNode.id+ "'>Text Demo...</span>";
  117. aObj.after(editStr);
  118. } else if (treeNode.id == 25) {
  119. var editStr = "<a id='diyBtn1_" +treeNode.id+ "' onclick='alert(1);return false;'>链接1</a>" +
  120. "<a id='diyBtn2_" +treeNode.id+ "' onclick='alert(2);return false;'>链接2</a>";
  121. aObj.after(editStr);
  122. }
  123. }
  124. $(document).ready(function(){
  125. $.fn.zTree.init($("#treeDemo"), setting, zNodes);
  126. });
  127. //-->
  128. </SCRIPT>
  129. <style type="text/css">
  130. .ztree li span.demoIcon{padding:0 2px 0 10px;}
  131. .ztree li span.button.icon01{margin:0; background: url(../../../css/zTreeStyle/img/diy/3.png) no-repeat scroll 0 0 transparent; vertical-align:top; *vertical-align:middle}
  132. .ztree li span.button.icon02{margin:0; background: url(../../../css/zTreeStyle/img/diy/4.png) no-repeat scroll 0 0 transparent; vertical-align:top; *vertical-align:middle}
  133. .ztree li span.button.icon03{margin:0; background: url(../../../css/zTreeStyle/img/diy/5.png) no-repeat scroll 0 0 transparent; vertical-align:top; *vertical-align:middle}
  134. .ztree li span.button.icon04{margin:0; background: url(../../../css/zTreeStyle/img/diy/6.png) no-repeat scroll 0 0 transparent; vertical-align:top; *vertical-align:middle}
  135. .ztree li span.button.icon05{margin:0; background: url(../../../css/zTreeStyle/img/diy/7.png) no-repeat scroll 0 0 transparent; vertical-align:top; *vertical-align:middle}
  136. .ztree li span.button.icon06{margin:0; background: url(../../../css/zTreeStyle/img/diy/8.png) no-repeat scroll 0 0 transparent; vertical-align:top; *vertical-align:middle}
  137. </style>
  138. </HEAD>
  139. <BODY>
  140. <h1>Adding Custom DOM</h1>
  141. <h6>[ File Path: super/diydom.html ]</h6>
  142. <div class="content_wrap">
  143. <div class="zTreeDemoBackground left">
  144. <ul id="treeDemo" class="ztree"></ul>
  145. </div>
  146. <div class="right">
  147. <ul class="info">
  148. <li class="title"><h2>1, Explanation of implementation method</h2>
  149. <ul class="list">
  150. <li>Use 'setting.view.addHoverDom / removeHoverDom / addDiyDom' attributes can easily display custom DOM.</li>
  151. <li class="highlight_red">Adding custom DOM, is important to understand zTree node object naming rules to ensure the normal controls add DOM.</li>
  152. <li class="highlight_red">If you add the browser's default ’select / checkbox / radio‘ DOM, please adjust the css, to ensure correctly display zTree.</li>
  153. </ul>
  154. </li>
  155. <li class="title"><h2>2, Explanation of setting</h2>
  156. <ul class="list">
  157. <li>Set 'setting.view.addHoverDom / removeHoverDom / addDiyDom' attributes, see the API documentation for more related contents.</li>
  158. </ul>
  159. </li>
  160. <li class="title"><h2>3, Explanation of treeNode</h2>
  161. <ul class="list">
  162. <li>No special requirements on the node data, the user can add custom attributes.</li>
  163. </ul>
  164. </li>
  165. </ul>
  166. </div>
  167. </div>
  168. </BODY>
  169. </HTML>