javascript - 如何从 ExtJs 4 中的 (MVC) Controller 捕获树节点点击?

标签 javascript extjs extjs4 extjs-mvc

在我的 ExtJS 4 Controller 中,我可以捕获页面上某些元素上的事件。 例如,要捕捉菜单项的点击,我可以这样做:

init: function() { 
    this.control({
        'maintoolbar menuitem[action=contacts]': {
            click: function() {
                                // do something ;
                            }
                    }
            }).......

我如何做同样的事情来捕获树节点点击?我非常想要与菜单项相同的效果(树的id为settingstree)。

编辑:这是树代码:

Ext.define('MyApp.view.system.SettingsTree',{
    extend: 'Ext.tree.Panel',
    requires: [ 
            'Ext.data.TreeStore',
            'MyApp.store.SettingsTree',
    ],
    title: MyApp.locale.T('settings'),
    defaults: {
            expanded:true
    }, 
    id:'settingstree',
    store: Ext.create('MyApp.store.SettingsTree'),
    alias: 'widget.settingstree',
    rootVisible: false,
    useArrows: true,
    /*listeners: {
            itemclick: function(view, record, el, index, ev, options ) {
                    console.log(arguments);
            }
    }*/
 });

请注意,我故意注释掉了 itemclick 监听器。虽然这确实报告了我单击的所有节点,但我更喜欢在 Controller 中捕获它,因为我应该......

有什么想法吗?

谢谢!

最佳答案

您可以输入:

this.control({
        'settingstree': {
            itemclick: function() {
                                // do something ;
                            }
                    }
            })

在适当的 Controller 中

关于javascript - 如何从 ExtJs 4 中的 (MVC) Controller 捕获树节点点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6871293/

相关文章:

javascript - 使用 HTTP2/SPDY 时,我应该缩小和连接 javascript 和 CSS 吗?

javascript - 如何计算同一页面中某件商品的费用?

android - 在 android 中执行 SenchaTouch 示例项目时出错?

extjs - 分机 JS 4 : Filtering a TreeStore

javascript - 使用 JSON 和 jQuery 构建列表

javascript - 如何在表格中找到最后一个可见的 <td>?

javascript - 在 View 中显式实例化商店时出错

javascript - 如何使用 ExtJS 4 中 Controller 的控制方法更改范围?

javascript - 为什么当我渲染元素时 extjs 会调用刷新 URL?

javascript - 获取数组组合的最接近值(JS)