-
Ext.TabPanel 在点击标签时根据条件判断是否允许切换,如何实现?5
在tabs里动态载入几个小标签tab1,tab2,tab3……
我在标签切换的时候做了一个判断,如果不符合条件不允许切换标签。
但现在的结果是,我用beforetabchange事件可以得到想要的条件,点击tab2仍然会执行activate事件。
有什么办法能够在beforetabchange中阻止activate执行呢?tabs.activate('act1');//显示第一个标签 tab2.on('activate', updater2.refresh, updater2, true); tabs.on('beforetabchange',function(){ alert("tabchanged!"); });
问题补充:return false;试过了,不行,它还是会执行tab2.on('activate',……)方法。
问题补充:tabs.on('beforetabchange',function(){ alert(1); return false; alert(2); });
看上面的例子,只执行了alert(1)证明,return false,只是结束了当前beforetabchange方法的执行,而没有阻止tab2.on('activate',……)方法;
貌似,点击tab2执行了两个方法。
可以试试tab2.on('activate', function() { alert('tab2'); return false; }, true);
问题补充:lizhi92574 写道
在切换面板的时候,下面这段代码触发beforetabchange事件。如果beforetabchange 返回值为false,就不进行切换面板。
if(!item || this.fireEvent('beforetabchange', this, item, this.activeTab) === false){
return;
}
你上面代码只会打印alert(1);并不会执行alert('tab2');
你使用的是什么版本的?
哦`Ext 1.x的版本。。。。。。
问题补充:activate : function(id){ var tab = this.items[id]; if(!tab){ return null; } if(tab == this.active){ return tab; } var e = {}; this.fireEvent("beforetabchange", this, e, tab); if(e.cancel !== true && !tab.disabled){ if(this.active){ this.active.hide(); } this.active = this.items[id]; this.active.show(); this.fireEvent("tabchange", this, this.active); } return tab; },
如上所述。。。很无语了。。。2010年10月18日 11:13
4个答案 按时间排序 按投票排序
-
采纳的答案
this.fireEvent("beforetabchange", this, e, tab);
if(e.cancel !== true && !tab.disabled){
上面代码可以通过控制e的cancel属性控制。设置为true即可
tabs.on('beforetabchange',function(t,e){
e.cancel = true;
}2010年10月18日 13:16
-
在切换面板的时候,下面这段代码触发beforetabchange事件。如果beforetabchange 返回值为false,就不进行切换面板。
if(!item || this.fireEvent('beforetabchange', this, item, this.activeTab) === false){
return;
}
你上面代码只会打印alert(1);并不会执行alert('tab2');
你使用的是什么版本的?2010年10月18日 12:51
-
tab2.on('activate', function() {
alert('tab2');
}, true);
tabs.on('beforetabchange', function(t, p) {
if (p == tab2)
return false;
});
测试看看,应该不会出现你那问题。可能是你哪里写的有问题。2010年10月18日 11:37
-
tabs.on('beforetabchange',function(){
if(){
return false;//返回false 表示阻止切换
}
});2010年10月18日 11:17
相关推荐
1、Ext.TabPanel简单使用 代码:
treepanel 和 tabpanel 合在一起使用,可直接使用
ExtJs 学习笔记基础篇 面板的使用(Ext.Panle、Ext.TabPanel、Ext.Viewport)
TabPanel的使用,添加tab,加载页面,添加事件
Ext.Viewport、 Ext.TabPanel布局
extjs4.2.1 tabPanel刷新及关闭标签
如何在MATLAB中做出标签页的效果-tabpanel2.6.zip 刚才看到有会员朋友说matlab中控件少,math说ActiveX中多的是啊,于是我也就顺便打开ActiveX看看里面都有什么。突然看到个单词tabbed……难道这就是困扰我多日的...
ext拖拽示例,可以通过ext生成的layout自动拖拽,效果很不错的
NULL 博文链接:https://mstr838wind.iteye.com/blog/766860
ext的tabpanel的激活与注意事项,激活的代码实现
9. ExtJs2.0学习系列(9)--Ext.TabPanel之第一式 10. ExtJs2.0学习系列(10)--Ext.TabPanel之第二式 11. ExtJs2.0学习系列(11)--Ext.XTemplate 12. ExtJs2.0学习系列(12)--Ext.TreePanel之第一式 13. ExtJs2.0学习系列...
竖向标签TabPanel-------------------------------------------------
4. Ext.TabPanel篇 5 5. Function扩展篇 7 6. Ext.data.Store篇 10 7. Ext.data.JsonReader篇一 12 8. Ext.data.JsonReader篇二 15 9. Ext.data.HttpProxy篇 19 10. Ext.data.Connection篇一 20 11. Ext.data....
4. Ext.TabPanel篇 5 5. Function扩展篇 7 6. Ext.data.Store篇 10 7. Ext.data.JsonReader篇一 12 8. Ext.data.JsonReader篇二 15 9. Ext.data.HttpProxy篇 19 10. Ext.data.Connection篇一 20 11. Ext.data....
解决Ext中tabPanel关闭后再次打开的2种方式。详情见文件,很小的txt文本。
tapestry4.02中封装ext的TabPanel组件
说在前头的 1. 闪烁吧!看看extjs那些美丽的例子。 1.1. 一切从extjs发布包开始 1.2. 看看ext-2.0.2的文档 1.3. 为什么有的例子必须放在服务器上才能看到效果? 1.4. 为什么自己按照例子写的代码,显示出来总找不到...
extjs动态添加tabpanel标签页支持pannel嵌入 逻辑代码在 MyWindow.js里面直接调用 方法 就可以