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)