当我在每个窗口中创建包含单个文本字段对象的两个窗口对象时。但该文本字段的ID是相同的。当我重新调整大小,最大化或最小化窗口对象时,控件从一个窗口移动到另一个窗口。 请查看以下代码并重新调整第一个标题为“'window 1'
的窗口Ext.onReady(函数(){
var win = new Ext.Window({
title : 'window 1',
width:200,
height:200,
maximizable : true,
x : 50,
items: [{xtype : 'textfield', id: 'text1'}]
});
win.show(this);
var win2 = new Ext.Window({
title : 'window 2',
width:200,
height:200,
maximizable : true,
x : 350,
items: [{xtype : 'textfield', id: 'text1'}]
});
win2.show(this);
});
答案 0 :(得分:3)
对于HTML,每个 id 必须唯一。否则,您将有异常行为。
实际上,Ext.get
方法有一个基于元素 id 的缓存。
所以真正的问题是:为什么要为文本字段设置相同的ID?
如果您需要已知的ID,可以使用:
tId = Ext.id(); // generates an id
items: [{xtype : 'textfield', id: tId}]
或者稍后访问textfield元素/组件,您可以使用 ref 或 itemId :http://dev.sencha.com/deploy/dev/docs/?class=Ext.Component