【发布时间】:2015-02-10 14:15:37
【问题描述】:
我想在面板中添加一个按钮到我单击的确切位置。
所以我尝试如下,这是我的Ext.widget 元素的结构
Ext.widget({ xtype : 'mz-form-widget', itemId: 'shopableImage', 锚点:“100%”,
defaults: {
xtype: 'textfield',
listeners: {
controller: '',
change: function (cmp) {
controller = cmp;
cmp.up('#shopableImage').updatePreview();
}
}
},
items: [
{
xtype: "tacofilefield",
itemId: "imageUploadButton",
text: "Upload images"
},
{
xtype: 'panel',
width: 350,
height: 350,
itemId:'container',
id:'container',
bodyStyle:{"background":"url('http://www.easyvectors.com/assets/images/vectors/vmvectors/jeans-girl-vector-27.jpg')","border":"1px solid #eee"},
listeners: {
click: {
element: 'el', //bind to the underlying el property on the panel
fn: function(a,b,c,d){
console.log(a.browserEvent.clientX - b.offsetLeft);
console.log(a.browserEvent.clientY - b.offsetTop);
console.log(c);
this.down('#container').addItem({"xtype":"button","text":"+"});
}
},
dblclick: {
element: 'body', //bind to the underlying body property on the panel
fn: function(){ console.log('dblclick body'); }
}
}
}
以下行引发错误。
this.down('#container').addItem({"xtype":"button","text":"+"});
更新
this.down('#container')
正在返回 null。
请给我你的建议?
【问题讨论】:
-
你看到了什么错误?
-
无法调用未定义的函数 addItem。我已更新问题详情。
-
因为'this'已经是容器了,看Saki最近的cmets就做this.add()
-
谢谢,但它对我不起作用。还有其他建议吗?
标签: javascript jquery extjs