`
cugbmao09
  • 浏览: 34859 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Sencha-touch之TabPanel的Tab在点击时执行事件

阅读更多

前面一直很忙,忙了快有一年了,学习了很多东西,也没有系统的整理一下,现在开始逐渐的将自己的一些学习的心得一点一点的记录下来。

 

Sencha-touch的前身是ExtJs,前几年我一直在做ExtJs的方面的扩展开发,现在由于自己的项目,做移动端的跨平台开发,因此用到了Sencha-touch。

 

Sencha-touch中TabPanel的使用频率应该是很高的了,一般的应用应该都会用到,但是TabPanel的TabBar在点击时,就会切换到对应的容器界面去,而经常会有这种情况,在TabBar中其实只是需要4个容器,而在TabBar上需要一个按钮,让其被点击时执行某个方法,而并不是切换到某个界面下去,在1.1的版本中,是可以给TabBar添加item来实现的,不过那也是存在Bug的,而在2的版本中,这样是无法实现的,为了实现这个功能,需要修改一点源码。

 

在TabPanel的源码中修改doTabChange方法,原本的doTabChange方法的源码是:

 

 

doTabChange: function(tabBar, newTab, oldTab) {

        var index = tabBar.indexOf(newTab);

        this.setActiveItem(index);

}

 

 

在其中添加几行代码:修改成:

 

 

doTabChange: function(tabBar, newTab, oldTab) {

        var index = tabBar.indexOf(newTab);

        var item = this.getInnerItems()[index];

        if(item.handler){

if(typeof(item.handler)== 'string'){

                eval(item.handler); 

}else{

            item.handler(); 

}

        return;

}

        this.setActiveItem(index);

}

 

 

如此修改后,在创建TabPanel时,如果需要某个Tab点击执行事件,只需要给该Tab一个handler属性,如:

 

Ext.create('Ext.tab.Panel',{

tabBar: {

docked: 'bottom',

layout: {

type: 'hbox',

align: 'middle'

}

},

items: [{

title: '首页',

            iconCls: 'home'

},{

title: '好友',

iconCls: 'user',

handler: function(){

alert('==========');

}

},{

title: '信息',

iconCls: 'mail'

},{

iconCls: 'favorites',

title  : '战利品',

},{

iconCls: 'more',

title: '更多'

  }]

});

 

如此在点击好友这个Tab的时候会弹出=========的提示,而在点击其他Tab的时候就会进行页面切换。

0
0
分享到:
评论

相关推荐

    sencha-touch 下载

    sencha-touch下载

    sencha-touch-2.3.1-gpl.zip

    sencha-touch-2.3.1-gpl.zip

    sencha-touch-grid

    sencha touch完整包(试用版)中的grid代码,位置在 touch-2.3.n > packages > sencha-touch-grid 使用时放到 ../MyApp/packages下 TouchGrid gives you a grid feature to arrange information in rows and columns...

    sencha-touch demo

    sencha-touch demo里面包含着基本常用的 phonegap-1.2.0.js index.html sencha-touch.css sencha-touch-all.js 等常用文件

    sencha-touch

    - **sencha-touch-all-debug.js** 和 **sencha-touch-debug.js**:包含调试信息的完整库文件,便于开发时追踪错误。 - **sencha-touch-all.js** 和 **sencha-touch.js**:压缩后的库文件,用于生产环境以提高性能...

    sencha-touch-2.1.1-gpl.zip

    Sencha Touch 2.1.1版本在前一版本的基础上进行了优化和增强,提高了性能,提供了更多的功能和组件。以下是一些关键知识点: 1. **响应式设计**:Sencha Touch 2.1.1支持各种屏幕尺寸和设备类型,能自动调整布局以...

    sencha-touch-2.1.0-gpl.zip

    sencha-touch-2.1.0-gpl.zip 官网下载的,欢迎下载

    sencha-touch-2.0

    sencha-touch-2.0 jar包,基于html5新技术,extjs的发展,可在移动设备上浏览实现iphone效果的服务端技术

    sencha-touch-2.1.0-gpl

    3. **核心库文件**: `sencha-touch-all-debug.js` 和 `sencha-touch-debug.js` 是带调试信息的完整库,适合在开发阶段使用,因为它们提供了详细的错误追踪信息。而 `sencha-touch-all.js` 和 `sencha-touch.js` 是不...

    官方sencha-touch最新版本2.0.0(附文档和实例)

    Sencha Touch 2.0.0 还加强了对触摸事件的支持,提供了一套完整的手势识别系统,如滑动、双击、长按等,使得用户界面的交互性大大增强。同时,它支持多种设备的方向变化,如横屏和竖屏切换,自动调整布局,确保应用...

    sencha-touch-2.0.0-commercial

    sencha-touch-2.0.0-commercial

    sencha-touch 1.0 2.0 案例

    sencha-touch 1.0 所有文档 sencha-touch 2.0 API(docs说明) 案例

    sencha-touch-2.0.0-commercial02

    sencha-touch-2.0.0-commercial

    sencha-touch2 mvc demo

    本示例“sencha-touch2 mvc demo”是关于Sencha Touch 2 MVC架构的一个简单演示,它展示了如何在移动应用中有效地组织代码并利用MVC模式。MVC(Model-View-Controller)是一种流行的设计模式,用于分离应用程序的...

    sencha-touch-2.x jsb文件 支持2.4

    在给定的标题和描述中,重点是使用"sencha-touch-2.4.0.jsb2"文件以及Eclipse与Spket集成开发环境(IDE)来提升开发效率。 **Sencha Touch 2.4.0**: 这是Sencha Touch的一个特定版本,它包含了众多增强和改进。...

    sencha-touch2.0-notesapp-demo

    这个"sencha-touch2.0-notesapp-demo"是一个使用Sencha Touch 2.0构建的记事本应用的示例项目,它展示了如何在移动平台上实现基本的记事功能。 Sencha Touch 2.0 的核心特性包括: 1. **组件化**:Sencha Touch ...

    sencha-touch-1.0.1a.zip_Sencha Touch _sencha touch api_touch

    在"sencha-touch-1.0.1a.zip"中,你将找到Sencha Touch 的源代码,这是学习框架工作原理的好资源。源码通常包括JavaScript文件、样式表(CSS)、图片和其他资源。你可以通过阅读源码来了解框架如何组织和实现其功能...

    sencha-touch grid 代码

    Sencha Touch Grid是Sencha公司开发的一个用于移动设备的JavaScript框架,...在实际项目中,结合提供的"sencha-touch-grid"压缩包文件,你可以深入研究源码,加深对框架的理解,并快速构建出符合业务需求的Grid组件。

    sencha-touch-2.3.1a-gpl

    1. **源代码**:压缩包内通常会包含Sencha Touch框架的源代码文件,如`sencha-touch.js`和`sencha-touch.css`,这些文件是构建移动应用的基础。还有可能包括不同大小和压缩级别的版本,如`sencha-touch.min.js`,...

    sencha-touch 移动开发

    在压缩包文件`sencha-touch-1.1.0`中,包含了Sencha Touch 1.1.0版本的源码和相关资源。这个版本可能较旧,但对于学习Sencha Touch 的基本概念和工作原理依然很有帮助。你可以通过阅读源码、查看示例和文档来深入...

Global site tag (gtag.js) - Google Analytics