ExtJS AJAX TabPanel选项卡加载事件?

问题描述 投票:1回答:2

在ExtJS v3.3.1中,是否可以将事件侦听器添加到基于ajax的tabpanel的load / update事件中?我需要一个事件,该事件在检索并完全呈现选项卡内容之后触发,而不是在选择/激活选项卡并显示加载微调框之后立即触发。

我以为我可以在Tabpanel的getUpdater()方法返回的Ext.Updater对象上添加此事件,即:

myTabs.getUpdater().on('update', function()
{
    console.log('tab loaded');
});

但是这似乎不起作用。有什么想法吗?

编辑:这是我的完整实现,可以更轻松地查看我要执行的操作:

var myTabs = new Ext.TabPanel( 
{ 
    id : 'rec_tabs', 
    activeTab : 0,    
    enableTabScroll : true, 
    padding : 5, 
    autoWidth : false, 
    autoHeight : true, 
    border : false, 
    plain : true, 
    defaults : { autoHeight: true }, 
    items : 
    [ 
        { title : 'Tab #1',  autoLoad : { url : 'tab1_content.php', scripts : true } }, 
        ... 
    ] 
}); 

myTabs.render('tab_div'); 

myTabs.getUpdater().on('update', function() 
{ 
    console.log('tab loaded'); 
});  
javascript ajax extjs dom-events tabpanel
2个回答
2
投票

最后弄清楚了。我还没有意识到TabPanel的每个项目的“ autoLoad”配置对象的属性实际上只是用作Ext.Updater.update()方法的参数。因此,我要做的就是将“ url”和“ scripts”参数与“ callback”属性定义为当选项卡内容完成加载到其主体中时要执行的功能,并且很好用。


0
投票

您尝试过这个吗?

myTabs.on("afterrender", function() {
    console.log('tab loaded');
});
© www.soinside.com 2019 - 2024. All rights reserved.