读书人

MzTree2.0梅花雪树单击Node页面跳动有

发布时间: 2012-11-23 22:54:33 作者: rapoo

MzTree2.0梅花雪树单击Node页面跳动问题解决及单击展开子节点

MzTree梅花雪树单击Node页面跳动问题解决及单击展开子节点


问题:
1.
梅花雪树2.0 中单击一个URL: #的节点的时候,会是页面跳动到最顶部,很麻烦,影响使用
2.
梅花雪树2.0 中单击节点名称展开子节点功能实现


故修改了mztreeview2\scripts\system\web\ui\webcontrols 下的mztreeview.js文件
添加了2个 String 方法:endsWith 和 startsWith
并且修改了
//private: attachEvent tree onClick
MzTreeView.prototype.clickHandle = function(e) 方法

代码如下:

//public:String startsWith endsWith  by feiding 20091209String.prototype.startsWith = function(prefix) {    return this.indexOf(prefix) == 0;};String.prototype.endsWith = function(suffix) {    return this.match(suffix+"$") == suffix;};//private: attachEvent tree onClick update by feiding 20091209MzTreeView.prototype.clickHandle = function(e){  e = window.event || e; var B;  e = e.srcElement || e.target;  if(B=(e.id && 0==e.id.indexOf(this.index +"_")))  {    var n=this.currentNode=this.nodes[e.id.substr(e.id.lastIndexOf("_")+1)];  }  switch(e.tagName)  {    case "IMG" :      if(B)      {        if(e.id.indexOf(this.index +"_expand_")==0){          n.expanded ? n.collapse() : n.expand();}        else if(e.id.indexOf(this.index +"_icon_")==0){          n.focus();}        else if(e.id.indexOf(this.index +"_checkbox_")==0){          n.check(!n.checked); n.upCheck();}      }      break;    case "A":        if(e.href.endsWith("#")){        {            e=this.nodes[e.id.substr(e.id.lastIndexOf("_") +1)];            e.expanded ? e.collapse() : e.expand();            this.currentNode=e;            n.focus();        }        window.event.returnValue = false;     }else{        if(B){ n.focus(); this.dispatchEvent(new System.Event("onclick"));}    }      break;    default :      if(System.ns) e = e.parentNode;      break;  }};



附件上传 梅花雪树2.0 ---MzTreeView20.rar? 的 未修改的 完整文件
至此问题解决。。。。。hoho。。。仅此记录解决方法。

?

读书人网 >Web前端

热点推荐