基于EasyUI框架下面,会有些特殊的需求,做一些变动和修改,以下比较常用的地方修改先写一部分,我尽量写的详细点。后面再整理整理
【1】
1、如图【1】示,这是一个菜单tree,用到的组件是$.fn.tree({..})
Q1、onClick事件,1.2.3源码里面绑定的是所有的treeNode,也就是说,不分对象
$("#id").tree({ ... onClick:function(){ alert(1); } })
你会发现点【基础信息】,或【人员管理】,都会alert(1);
那现在我需要Click 2的时候,收起或展开节点,Click 【3】的时候触发一个ajax请求,或者说onClick事件,怎么解决?
思路:解决方法不必要跟我一模一样,掌握思路就好。
Point1:tree我是动态绑定的,二级菜单下面有一个属性,定义actionDirect,Ajax 请求url的地址;而父级菜单节点没有
Point2:Click【2】要达到Click【1】的效果,收起或展开节点
★Solution:
在源码里面找到绑定onClick的方法,
$("div.tree-node",_8a).unbind(".tree").bind("dblclick.tree",function(){ _122(_88,this); _89.onDblClick.call(_88,_107(_88)); }).bind("click.tree",function(){ _122(_88,this); _89.onClick.call(_88,_107(_88));
后面加上 var node = _b1(_123,_124);//得到根节点的json格式
if(!node.actionDirect){ //point1 提到,父级节点没有actionDirect属性
//绑定展开||收起的方法
//$("span.tree-hit",_8a).unbind(".tree").bind("click.tree",function(){
//var _8b=$(this).parent();
//_e6(_88,_8b[0]);
//return false;
var _8b=$(this);
_e6(_88,_8b[0]);
return false;
}
_122(_88,this);
_89.onClick.call(_88,_107(_88)); //调用子节点onClick方法, 也就是ajax 请求
改的话不难,就是找起来太麻烦了。
下班了,先些这写,后面补上
Comments | NOTHING