我使用的是ExtJS 4 (beta 3),我有一个TreePanel,这是我的导航菜单。它是这样的:
(这将建立在许可系统的基础上,但这是另一个故事)
在ExtJS 3上,当我单击“adding”时,执行一些操作,只需添加
...
leaf:true,
listeners:{
click:function(n){
//my code...
}
}
...
到根子元素。
现在没那么简单了。离我越近的是(在树上)
listeners:{
click : {
element : 'el',
fn : function(eve, elem, obj){
console.log(node);
console.log(elem);
console.log(obj);
}
}
}
所以,也许我只是个菜鸟,也许我已经对ExtJS有了强烈的憎恨,也许只是这个测试版的一个问题,但是.
如何将侦听器添加到树节点上的click事件?( Select不会做我需要的事情)
谢谢你们。
编辑:目前正在用这个测试,而且它不起作用。
... = Ext.create('Ext.tree.TreePanel', {
region : 'west',
collapsible : false,
title : 'ITMI',
width : 220,
margins : '5 5 5 5',
cmargins : '5 5 5 5',
hideHeaders : true,
useArrows : true,
rootVisible : false,
headers: [{
xtype : 'treeheader',
text : 'Nome',
flex : 1,
dataIndex: 'nome'
}],
store: store,
listeners:{
itemclick: function(n){
console.info(n);
}
}
...
编辑2:项目点击事件现在工作(在EXJS4Final上),它仍然不能解决我的问题。我想在调用每个treenode时调用一个特定的函数。以前真的很容易。现在我搞不懂了。
发布于 2011-04-19 09:32:09
在ext4 beta3中(也许也在最后版本).不再有click
事件..。
这已更改为itemclick
更多信息。
var tree = Ext.create('Ext.tree.Panel', {
store: store,
renderTo: Ext.getBody(),
height: 300,
width: 250,
title: 'Files',
listeners:{
itemclick: function(n){
console.info(n);
}
}
});
发布于 2012-03-12 09:42:36
因此,它可能会帮助一些人,他们可能正在为同样的问题,我当时做了。
"itemclick“事件是处理叶单击的方法,但由于我不记得的原因,它没有工作。
我通过拆分数据库中的配置来完成我所需要的工作,比如
controllerName|functionName
然后在“itemclick”的处理程序上调用此代码:
this.getController(ctr)[fn]();
其中,controllerName是ctr,fn是functionName。这可以很容易地完成,但我不喜欢。
发布于 2012-06-05 11:56:32
我不能让点击率与IE (好在Chrome)。我修改了我的代码以使用'checkchange‘,它运行得很好。
https://stackoverflow.com/questions/5719414
复制相似问题