0

我是 ExtJs 的新手。我在获取面板 html 内容的面板中遇到了问题。

xtype : 'panel',
id : 'first_block',
html : '<p>Hi this is belongs to first block.</p>',
listeners : {
    render : function(c) {
        c.body.on('click', function() {
            alert('' + this.id);
            alert(Ext.getCmp('first_block').items.getAt(0).getValue());
        });
}

我没有得到 html 内容,但我得到了像“first_block-body”这样的 id。

提前致谢。

4

2 回答 2

5

html属性定义了组件内容中所需的 HTML,在本例中为Ext.Panel.

Ext.Panels 创建几层divs 以提供诸如页眉、页脚、工具栏等内容。

如果您想要的只是div带有一些内容的 a,那么您希望使用Ext.Component. 组件没有body,因此您的代码中发生了一些变化。

xtype : 'component',
id : 'first_block',
html : '<p>Hi this is belongs to first block.</p>',
listeners : {
    render : function(c) {
        c.on('click', function() {
            alert('' + this.id);
            alert(this.el.dom.innerHTML);
        }, this);
}

请注意,我在您的调用中添加了第三个参数on,它指定this了函数调用的范围。我还编辑了您的警报以打印出元素的 innerHTML,假设您正在尝试这样做。

更新:

如果你打算在布局中使用这个组件,它可能需要能够设置它heightwidth这意味着它需要是类型box才能成为Ext.BoxComponent.

于 2012-10-02T19:18:49.790 回答
0

Ext.getElementById('yourId').innerHTML

于 2013-10-11T06:55:42.847 回答