我正在使用Sencha Touch创建一个简单的应用程序,当用户需要添加带有组件的新容器时,我正在使用textfield
s,textareafield
等动态创建容器。现在的问题是当点击textareafield
上的清除图标时它会清除文本,但我想知道哪个textareafield
已被清除。请问有人帮我吗?
这就是我创建容器的方式。
var childObj2 = {};
childObj2.xtype = 'container';
var type = 'vbox';
var layout = {}
layout.type = type;
childObj1.layout = layout;
var txtarea= {};
txtarea.xtype = 'textareafield';
txtarea.id = "txt51";
txtarea.flex = 3;
txtarea.maxRows = 7;
txtarea.placeHolder = 'Type here';
txtarea.value = value['notes'];
txtarea.inputCls = 'txtareaStyle'
txtarea.clearicontap = "clearText";
How to add clearicontap listener to this?
答案 0 :(得分:1)
当您创建textfield
时,只需为clearicontap
事件添加一个监听器,并为每个字段执行回调。
例如:
var container = Ext.create('Ext.Container', {});
for (var i=1; i<=3; i++) {
var field = Ext.create('Ext.field.Text', {
id: 'textfieldnumber' + i,
listeners: {
clearicontap: function() {
alert("Tapped clear icon on text field number: " + i + "!");
}
}
});
container.add(field);
}
[编辑]
我回答你在编辑后提出的问题:
我正在使用通过Ext.create()
创建Sencha组件的标准方法,我建议您切换到相同的方式。您发布的代码并不清楚这些Javascript对象实际上是如何转换为Ext
组件的。无论如何,它们很可能是组件配置,所以我想你可以试试:
txtarea.listeners = {
clearicontap: function() {
alert("Tapped clear icon on text field");
}
}