首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >this.fireEvent不工作extjs3

this.fireEvent不工作extjs3
EN

Stack Overflow用户
提问于 2013-03-07 05:02:47
回答 1查看 2.1K关注 0票数 1

我正在用extjs 3构建自己的类(许可证问题)

代码语言:javascript
复制
Ext.ux.MyClass = Ext.extend(Ext.Container, {

       initComponent: function() {       
                this.button = new Ext.Button({
                                       scope:this,
                                       text:'my button', 
                                       handler: function() {
                                                     alert(0);
                                                     this.fireEvent('myevent');
                                       }
                });

                this.addEvents('myevent');
       }    
});


//in the code:

var obj = new Ext.ux.MyClass(...);

obj.on('myevent', function () {alert(1);});

事件未触发,代码未给出错误,我可以看到Alert(0),但看不到Alert(1);

我尝试了监听程序,但同样不起作用,this.fireEvent返回true。

谢谢你的帮忙

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-07 05:30:21

你使用的是什么版本的ExtJS 3? 3.0,3.1还是3.4?

如果它是3.4,那么它似乎对我来说是有效的。我添加了一些额外的代码,只是为了让按钮呈现出来,但对我来说似乎没问题。

我使用的最后一段代码是:

代码语言:javascript
复制
Ext.onReady(function(){

    Ext.ux.MyClass = Ext.extend(Ext.Container, {
        initComponent: function() {
            this.button = new Ext.Button(
            {
                renderTo: document.body,
                scope:this,
                text:'my button', 
                handler: function() {
                    alert(0);
                    this.fireEvent('myevent');
                }
            });

            this.addEvents('myevent');
        }

    });

    var obj = new Ext.ux.MyClass();

    obj.on('myevent', function () {alert(1);});
});

在这里查看jsfiddle:http://jsfiddle.net/J9YcL/

我在Chrome上运行,如果这有什么不同的话。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15257978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档