Extjs中自定义事件

时间:2022-01-08 12:20:39

//Ext中所谓的响应事件,响应的主要是组件中已经定义的事件(通过看api各组件的events可以找到)

        //主要作用就是利用on调用各组件的事件处理函数,然后在函数中作用户想要的操作

        //Ext也可以自定义事件,定义过程参考Ext.util.Observable





       // <div id="div1" />  <div id="div2" />这种形式定义div的话,按钮2会在按钮1上面,但是我是想按钮1在按钮2上面呀,所以不能用这种方式,使用<div id="div1"></div>

//<div id="div2"></div>这种方式。

Ext.onReady(function(){

            var btn1 = Ext.create('Ext.button.Button', { id: 'b1', text: '按钮1触发的窗口' });//定义按钮

            btn1.render('div1');  //然后将按钮渲染到id为div1的div上突然就有了一种不用工具栏,菜单栏,面板也可以定义按钮的感觉      

            btn1.on('click', btnclick);  //on就是addListener(),为时间绑定处理函数,前两个参数是事件名称和事件处理函数,然后就是

            //scope和delay({delay:2000},延迟2秒调用处理函数。还有其他的配置项)

            var btn2=Ext.create('Ext.button.Button',{id:'b2',text:'按钮2触发的窗口'});

            btn2.render('div2');        

           btn2.on('click',btnclick);

           function btnclick(b, e) {//按钮的click事件向事件处理函数中传递了两个参数:b就是按钮对象,e就是'click'事件

                                                                                      //可以在API中组件事件中查到。

                var win = Ext.create('Ext.Window', { title: b.text, height: 200, width: 200 });

                win.show();

            };

        });