dtree的自定义select动作

本文介绍如何为dtree插件自定义点击事件,实现点击文件树节点后自动进行搜索并展示结果的功能。作者通过修改dtree原型方法实现了这一需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  项目中用到了dtree,别问我为什么用这么古老的插件,因为简单啊orz,文件树的条目不多,detree加载卡顿的问题也不用解决,开森。

  在使用过程中在选择节点后需要自定义一些onclick的动作,本来是打算在html中加script就完了,但是死活实现不了,就只能在原代码上动手了。

  我要实现的是点击一个节点,自动进行搜索和呈现出一个datatable:

dTree.prototype.s = function(id) {

	if (!this.config.useSelection) return;

	var cn = this.aNodes[id];

	if (cn._hc && !this.config.folderLinks) return;

	if (this.selectedNode != id) {

		if (this.selectedNode || this.selectedNode==0) {

			var eOld = document.getElementById("s" + this.obj + this.selectedNode);

			eOld.className = "node";

		}

		eNew = document.getElementById("s" + this.obj + id);

		eNew.className = "nodeSel";

		this.selectedNode = id;

		if (this.config.useCookies) this.setCookie('cs' + this.obj, cn.id);

		var father_tag = eNew.innerText.search(/^\s/) + 1;
		if(father_tag){
			var selected_cancer_name = eNew.innerText.replace(/^\s/,"");
			if(selected_cancer_name != "ALL types"){
				var result_arr = browse_search(selected_cancer_name,"main_cancer");
				show_result(result_arr);
			} else {
				var result_arr = browse_search(".*","main_cancer");
				show_result(result_arr);
			}
		} else {
			var result_arr = browse_search(eNew.innerText, "subtype");
			show_result(result_arr);
		}
	}

};

  其中father_tag是我用来区分是不是父节点的,因为搜索的条目不同,我用的方法是在父节点前加一个空格和子节点加以区分。

转载于:https://www.cnblogs.com/wwdPeRl/p/9158469.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值