关于Dtree的简单应用

第一:下载dtree的样式和脚本文件包,放入自己的程序包
第二:dtree的数据添加格式就不再多说
第三:如果需要进行调用自己的脚本文件,则在添加进树结构的菜单中无需指定target 名称,当然至于dtree.js文件你则可以自己修改,一般修改的地方都是
if (node.url) {
str += '<a id="s' + this.obj + nodeId + '" class="' + ((this.config.useSelection) ? ((node._is ? 'nodeSel' : 'node')) : 'node') + '" href="' + node.url + '"';

if (node.title) str += ' title="' + node.title + '"';

if (node.target) str += ' target="' + node.target + '"';

if (this.config.useStatusText) str += ' οnmοuseοver="window.status=\'' + node.name + '\';return true;" οnmοuseοut="window.status=\'\';return true;" ';

if (this.config.useSelection && ((node._hc && this.config.folderLinks) || !node._hc))

str += ' οnclick="javascript: ' + this.obj + '.s(' + nodeId + ');"';

//is my update
str+= ' οncοntextmenu="javascript:showMenu('+node.id+')"'
//str += '';

str += '>';
}
当然,做右键菜单也是在这里修改代码的,网上很多说dtree加右键菜单,可是却没有提到修改dtree.js文件。
第四:简单右键菜单--只有删除功能
html页面
添加右键的<Div>:


<div id="itemMenu" style="display:none">
<table border="1" width="100%" bgcolor="#D0D0D0" style="border:thin" cellspacing="0">

<tr>
<td style="cursor:hand;border:outset 1;font-size:12px" align="left" οnclick="parent.delNode()">删除</td>
</tr>

</table>
</div>
一个用于存放值的form表单:
<form name = "menuForm">
<!--隐藏框,用来保存选择的菜单的id值-->
<input type = "hidden" name = "id" value = ""/>
<div class="dtree2">
<script type="text/javascript">
<!--
d = new dTree('d');
{strResult}
document.write(d);
d.openAll();
//-->
</script>
</div>
</form>
用于支撑右键的脚本文件:
<script language="JavaScript">
/**
*根据传入的id显示右键菜单
*/
function showMenu(id)
{
menuForm.id.value = id;
if("" == id)
{
popMenu(itemMenu,100,"1000");
}
else
{
popMenu(itemMenu,100,"1111");
}
event.returnValue=false;
event.cancelBubble=true;
return false;
}
/**
*显示弹出菜单
*menuDiv:右键菜单的内容
*width:行显示的宽度
*rowControlString:行控制字符串,0表示不显示,1表示显示,如“101”,则表示第1、3行显示,第2行不显示
*/
function popMenu(menuDiv,width,rowControlString)
{
//创建弹出菜单
var pop=window.createPopup();
//设置弹出菜单的内容
pop.document.body.innerHTML=menuDiv.innerHTML;
var rowObjs=pop.document.body.all[0].rows;
//获得弹出菜单的行数
var rowCount=rowObjs.length;
//循环设置每行的属性
for(var i=0;i<rowObjs.length;i++)
{
//如果设置该行不显示,则行数减一
var hide=rowControlString.charAt(i)!='1';
if(hide){
rowCount--;
}
//设置是否显示该行
rowObjs[i].style.display=(hide)?"none":"";
//设置鼠标滑入该行时的效果
rowObjs[i].cells[0].οnmοuseοver=function()
{
this.style.background="#aec3de";
this.style.color="red";
}
//设置鼠标滑出该行时的效果
rowObjs[i].cells[0].οnmοuseοut=function(){
this.style.background="#5cb4dd";
this.style.color="#000000";
}
}

//屏蔽菜单的菜单
pop.document.οncοntextmenu=function()
{
return false;
}
//选择右键菜单的一项后,菜单隐藏
pop.document.οnclick=function()
{
pop.hide();
}
//显示菜单
pop.show(event.clientX-1,event.clientY,width,rowCount*25,document.body);
return true;
}
function delNode()
{
//alert(menuForm.id.value)
window.location.href="organizeEnter?handle=MagorClassCtrl_delDone&morgId="+menuForm.id.value;
}


</script>
还有就是修改dtree.js文件部门,如上修改
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值