ExtJS TextField加入按钮并添加事件

加入按钮:

{
{
xtype :'textfiled',
fieldLabel : '地址',
name : 'addresses[0].address',
listeners : { 
                    render : function(obj) {
                        var t=document.createTextNode('地址');
                        var btn=document.createElement('BUTTON');
                        btn.setAttribute("id","addressSelectBtn");
                        btn.setAttribute("type","button");
                        btn.appendChild(t);                       
                        obj.el.dom.parentNode.appendChild(btn); 
                } 
	 }
}

通过以上方法加入按钮后,如果想加入事件,就要考虑到浏览器兼容问题。
Firefox addEventListener,IE attachEvent。
而最后,还会导致窗体错乱。

幸好Ext提供Ext.fly方法。
然后,通过Ext.fly取得到此按钮,之后。通过on设定事件。

var addressSelectBtn =Ext.fly('addressSelectBtn');

addressSelectBtn.on('click',function(){
CreateAddressSelectForm(addressInfo.getValue())
});

后方加入文字说明,那更简单了。。

你可能感兴趣的:(ExtJs)