var HelloWorld = function(){ var dialog, showBtn, submitBtn; return { init : function(){ dialog2 = Ext.get('dialog'); showBtn = Ext.get('show-dialog-btn'); // attach to click event showBtn.on('click', this.showDialog, this); }, showDialog : function(){ if(!dialog){ // lazy initialize the dialog and only create it once dialog = new Ext.BasicDialog("hello-dlg", { autoTabs:true, width:500, height:300, shadow:true, minWidth:300, minHeight:250, proxyDrag: true }); dialog.addKeyListener(27, dialog.hide, dialog); submitBtn = dialog.addButton('Submit', dialog.hide, dialog); dialog.addButton('Close', dialog.hide, dialog); } dialog.show(showBtn.dom); submitBtn.setHandler(test, this); } }; var test = function(){ alert('test'); dialog.hide(); } }();