说明:本人做Ext tree的时候,实现鼠标右键,编辑节点信息。但是,treeEditor默认的点击节点的时候,调用它自身的编辑事件。

      于是,我就想禁止treeEditor默认的编辑事件。在tree中添加监听,方法如下:

// TreePanel

    var tree = new Ext.tree.TreePanel({

id : 'device-tree',

title : '设备树',

root: root,

region : 'west',

animate : true,

enableDD : true,

containerScroll : true,

loader : new Ext.tree.TreeLoader({ // 加载树

dataUrl : 'tree.json'

        }),

listeners: {

   // 禁止编辑

beforeclick: function(a,b) { 

if(this.getSelectionModel().isSelected(a)){

return false;

}

}

},

renderTo: 'tree-div',

height: 300,

        width: 250,

lines : true,

containerScroll : false,

border : true

    });

 

  至于为什么这么做,需要参考ext-all.js中treeEditor源码。我从来觉得Ext的API就是垃圾,所以有问题,我直接找源代码。

 

注意,本人用的是Ext2.2.1