`
yangshengli
  • 浏览: 4275 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

关于easyui1.3.2的combotree只有点击树叶才被选中和点击整个节点都可以展开/收缩的解决方法

阅读更多

       最近带个项目,用的easyui1.3.2版本,发现combotree这个控件用起来不是很人性化,所以就把它的源代码进行了修改,可恨的是源码都经过了加密处理,看起来很是不爽,不过我还是找到了相应的代码,并进行了修改,在我的电脑上测试是没有问题的,如果大家用着有问题可以一起讨论解决!说正题,如下

       用的时候发现的问题有如下2点:

       1.点击树枝也可以选择,实际应用中大家应该都希望只有点击树叶时才能选择

       2.只有点击三角图标才可以展开/收缩,这个及其不方便,那个三角图标又小,改善后点击整个NODE都可以展开/收缩

代码如下:

        原代码:

}).bind("click",function(e){
var tt=$(e.target);
var _b1=tt.closest("div.tree-node");
if(!_b1.length){
return;
}
if(tt.hasClass("tree-hit")){
_119(_ad,_b1[0]);
return false;
}else{
if(tt.hasClass("tree-checkbox")){
_d9(_ad,_b1[0],!tt.hasClass("tree-checkbox1"));
return false;
}else{
_157(_ad,_b1[0]);
_ae.onClick.call(_ad,_b4(_ad,_b1[0]));
}
}
e.stopPropagation();
}).bind("dblclick",function(e){

 

        修改后的代码:

       

}).bind("click",function(e){
var tt=$(e.target);
var _b1=tt.closest("div.tree-node");
if(!_b1.length){
return;
}
/** 
 *  修改于2013-10-22 
 * 作用:
 * 新加的属性onlySelectLeaf:只有点击树叶才被选中,默认为否
 * 1.只有点击树叶才被选中(之前点击树枝也可以选择)
 * 2.点击整个节点都可以展开/收缩(之前只有点击三角图标才可以展开/收缩)
 */
if(tt.hasClass("tree-checkbox")){
    _d9(_ad,_b1[0],!tt.hasClass("tree-checkbox1"));
    return false;
}else{
    if(tt.parent().children("span.tree-file").length || (!_ae.onlySelectLeaf && !tt.hasClass("tree-hit"))){
	_157(_ad,_b1[0]);
	_ae.onClick.call(_ad,_b4(_ad,_b1[0]));
    }else{
	_119(_ad,_b1[0]);
	return false;
    }
}
/*********** end ***********/
e.stopPropagation();
}).bind("dblclick",function(e){
把下面的代码覆盖到上面的代码及可,这个只适用1.3.2其它版本的源代码我没试,可能不一样

 

2
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics