javascript - ExtJs 4 上的 TreeNode 单击事件

标签 javascript extjs extjs4

我使用的是 ExtJS 4(测试版 3),我有一个 TreePanel,它是我喜欢的导航菜单。 它是这样的:

  • 工作
    • 添加工作
    • 列出所有工作
  • ...
    • ...
    • ...

(这将在权限系统基础上进行,但这是另一回事)

在 ExtJS 3 上,当我点击“添加作业”时做一些事情就像添加一样简单

...
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 产生了强烈的仇恨,也许只是这个 beta 版本中的一个问题,但是......

如何为树节点上的点击事件添加监听器? (选择事件不会做我需要的)

谢谢你们。

编辑:目前正在对此进行测试,但无法正常工作。

 ... = 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: itemclick 事件现在有效(在 EXJS 4 final 上),它仍然没有解决我的问题。当我调用每个树节点时,我想调用一个特定的函数。之前真的很容易。现在我想不通了。

最佳答案

在 ext4 beta3 中(也许也在最终版本中)...不再有 click 事件....
这已更改为 itemclick more info

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);
        }
    }

});

关于javascript - ExtJs 4 上的 TreeNode 单击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5719414/

相关文章:

extjs - 在TreeView中,如何再次显示某些记录? (作为收藏夹栏)

javascript - 如何以编程方式更改 gridpanel 单元格的 css

architecture - 在 ExtJs 中分离 Controller 和 View

javascript - Rails crontab rake javascript 运行时未找到

javascript - Canvas 作为文件输入?

javascript - 如何在 Raphael 元素上添加上下文菜单?

gridview - 如何获取值以从组合框 extjs 4 传递参数

javascript - 为 d3.js V4 中的每个栏应用独特的颜色

javascript - 有没有办法在 App.Module.ts 中使用 configService?

javascript - 如何让按钮在日期字段中添加一天