0
            {xtype : 'container',
        id:'leaderPhotoContainer',
        listeners:{click: {
            element: 'el', //bind to the underlying el property on the panel
            fn: function(e,panel,obj){ //click function
            console.log('click el'); //It will work.
            obj.fireEvent('click');

//如果我在这里添加我的代码,它可以工作,但我想将此事件触发到控制器,并在那里进行处理。

//我怎样才能在这里得到'容器'?//container.fireEvent('click') 我想它会起作用的。

}
                }}}

有人能帮我吗?谢谢你。

listeners:{click: {
            element: 'el', //bind to the underlying el property on the panel
            fn: function(e,panel,obj){ console.log('click el');
            this.down('#leaderPhotoContainer').fireEvent('click');
            }
            ,scope:this//It must be a upper container.
            }

也许这是一种愚蠢的方式来解决它,但它是有效的。有没有更好的办法?

4

1 回答 1

4

您可以在控制器中绑定您的事件。

//...
init: function () {
    this.control({
        'yourpanel': {
            afterrender: function(panel) {
                panel.mon(panel.el, 'click', this.foo);
            }
        }
    });
},

foo: function() {
    console.log('Foo');
}
//...
于 2013-11-11T10:41:45.020 回答