如何解决ExtJS AJAX TabPanel选项卡加载事件?
| 有什么方法可以将事件侦听器添加到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\');
});
解决方法
终于明白了。我还没有意识到TabPanel的每个项目的\“ autoLoad \”配置对象的属性实际上只是用作Ext.Updater.update()方法的参数。因此,我所要做的就是连同\“ url \”和\“ scripts \”参数一起,将\“ callback \”属性定义为当标签内容加载到其主体中时要执行的函数,和它的好去。
, 你有尝试过吗?
myTabs.on(\"afterrender\",function() {
console.log(\'tab loaded\');
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。