定义的textField:
{
name: 'nodeName',
id:'nodeName',
fieldLabel: '节点名称',
vtype:'nodeNameIsDuplicate',
param:model,
allowBlank:false,
blankText:"节点名不能为空",
maxLength:'21',
value: model.text ? model.text : '',
enableKeyEvents:true,
listeners: {
'blur': function(field){
var newValue = field.getValue();
// FIXME: use command
var flag=true;
var $=model.getParent();
Gef.each($.getChildren(),
function(A){
if(A.getText()==newValue&&model.getText()!=newValue&&newValue!=""){
flag =false;
return false;
}
});
newValue = App.JSON.clearString(newValue);
if(flag){
model.text = newValue;
}
model.editPart.figure.updateAndShowText(model.text);
},
'keyup': judgeSpecial
}
}
动态给这个控件加入事件,比如blur事件:
直接找到这个控件.blur()谷歌可以,ie会失灵
例如:
var nodeName = Ext.getCmp("nodeName");
var nodeAliasName = Ext.getCmp("nodeAliasName");
if(Gef.notEmpty(nodeName)){
nodeName.blur();
}
if(Gef.notEmpty(nodeAliasName)){
nodeAliasName.blur();
}
如果改成这样就可以兼容了:
var nodeName = Ext.getCmp("nodeName");
var nodeAliasName = Ext.getCmp("nodeAliasName");
if(Gef.notEmpty(nodeName)){
nodeName.fireEvent('blur', nodeName);
}
if(Gef.notEmpty(nodeAliasName)){
nodeAliasName.fireEvent('blur', nodeAliasName);
}