`

sencha touch textarea 手机上不显示滚动条,且不能滚动

 
阅读更多

最近在项目中发现 sencha touch 中的 textarea 在手机上不显示滚动条,也不能滚动。

在浏览器中之所以能显示滚动条滚动,那是浏览器为 textarea 添加的滚动条。 但在手机中是不会显示滚动条的。 可能在以后的版本中会有所改进吧。

 

于是只能另想办法了,找了一个老外重写的可滑动的 textarea (无滚动条)

 

Ext.define('LeslieTest.view.TextArea',
{
    extend : 'Ext.field.TextArea',
    xtype : 'scrollTextArea',
    
    initialize : function() {
        this.callParent();
        this.element.dom.addEventListener(
                Ext.feature.has.Touch ? 'touchstart'
                        : 'mousedown',
                this.handleTouchListener = Ext.bind(
                        this.handleTouch, this), false);
        this.element.dom.addEventListener(
                Ext.feature.has.Touch ? 'touchmove'
                        : 'mousemove',
                this.handleMoveListener = Ext.bind(
                        this.handleMove, this), false);
        this.moveListenersAttached = true;
    },
    
    destroy : function() {
        if (this.moveListenersAttached) {
            this.moveListenersAttached = false;
            this.element.dom.removeEventListener(
                    Ext.feature.has.Touch ? 'touchstart'
                            : 'mousedown',
                    this.handleTouchListener, false);
            this.element.dom.removeEventListener(
                    Ext.feature.has.Touch ? 'touchmove'
                            : 'mousemove',
                    this.handleMoveListener, false);
            this.handleTouchListener = this.handleMoveListener = null;
        }
        this.callParent();
    },
    
    handleTouch : function(e) {
        this.lastY = e.pageY;
    },
    
    handleMove : function(e) {
        var textArea = e.target;
        var top = textArea.scrollTop <= 0;
        var bottom = textArea.scrollTop + textArea.clientHeight >= textArea.scrollHeight;
        var up = e.pageY > this.lastY;
        var down = e.pageY < this.lastY;
        this.lastY = e.pageY;

        if ((top && up) || (bottom && down))
            e.preventDefault();

        if (!(top && bottom))
            e.stopPropagation();
    }
});

 

分享到:
评论

相关推荐

    touch-docs-2.2.1.zip(senchaTouch 离线API参考文档)

    1. **响应式设计**:Sencha Touch 提供了适应各种屏幕尺寸和设备的布局系统,确保应用在手机、平板和桌面设备上都能呈现良好的用户体验。 2. **丰富的UI组件**:包括列表(Lists)、表格(Grids)、按钮(Buttons)、面板...

    sencha touch在VScode上的插件

    标题中的"Sencha Touch在VScode上的插件"指的是为VSCode开发的扩展,目的是为了在VSCode环境中更好地支持Sencha Touch的开发工作。这样的插件通常会提供代码提示、自动完成、错误检查、格式化等特性,提升开发效率。...

    Sencha 和 Sencha Touch 简介

    本文通过对 Sencha Touch 框架的介绍,使读者对该框架有一定的了解,并通过一些代码示例给用户更详细直观的对 Sencha Touch 框架功能的了解。 ExtJS ExtJS 是为 web 开发人员提供的基于 JavaScript 和 web 标准快速...

    sencha touch list demo

    在“sencha touch list demo”中,我们主要关注的是Sencha Touch中的列表(List)组件,这是一个核心且常用的组件,用于展示数据集合。 1. **Sencha Touch 框架概述** Sencha Touch 是一个基于JavaScript的框架,...

    Sencha Touch in Action

    通过结合Sencha Touch和Phonegap,开发者可以利用Sencha Touch强大的用户界面组件和丰富的交互功能来构建在多个移动平台上都能运行的应用程序。 书中的标签"Sencha"指的是一种基于JavaScript的前端开发工具集,...

    sencha touch 登陆界面

    Sencha Touch 是一款专为移动设备设计的JavaScript框架,它提供了丰富的组件库和强大的数据管理功能,用于构建高性能的触控应用。"sencha touch 登陆界面"这个主题,主要涉及的是如何使用Sencha Touch来设计和实现一...

    sencha touch项目源码

    Sencha Touch 是一款专为移动设备设计的前端框架,它提供了丰富的组件和API,用于构建交互式的、响应式的Web应用程序。这个项目源码是基于Sencha Touch开发的一个实例,通过研究这个项目,我们可以深入理解Sencha ...

    sencha touch 2.4.0最新版

    Sencha Touch 2.4.0 是一个专为移动设备设计的前端JavaScript框架,它使得开发者能够构建功能丰富的、响应式的Web应用程序,这些应用在智能手机、平板电脑等移动设备上表现得如同原生应用一样流畅。这个框架由Sencha...

    一个完整的sencha touch 应用案例

    Sencha Touch 是一款专为移动设备设计的前端框架,它提供了丰富的组件库和强大的数据管理功能,用于构建高性能的触控应用。这个压缩包文件包含了创建一个完整的Sencha Touch 应用所需的基本元素,让我们逐一解析这些...

    Sencha Touch2环境搭建

    Sencha Touch 2是一款专为移动设备开发的前端框架,用于构建高性能的触控应用程序。它提供了丰富的组件库,使得开发者能够轻松创建出与原生应用相似的用户体验。本篇文章将详细阐述如何搭建Sencha Touch 2的开发环境...

    Sencha Touch开发的项目《般若人生》源码

    《般若人生》是一款基于Sencha Touch框架开发的移动应用项目。Sencha Touch是一个流行的JavaScript框架,专门用于构建跨平台的触屏友好型Web应用程序。它提供了丰富的UI组件和强大的数据管理工具,使得开发者能够...

    senchaTouch和fusioncharts结合的实例

    Sencha Touch 和 FusionCharts 的结合使用,是一种在移动设备上创建交互式图表和图形的高效方式。Sencha Touch 是一个流行的JavaScript框架,专门用于构建触摸优化的移动Web应用程序,而FusionCharts则是一款强大的...

    Sencha Touch 2.4.1

    这个版本的发布标志着Sencha Touch在HTML5领域的领先地位,它提供了丰富的UI组件和强大的数据管理功能,使得开发者能够创建出接近原生体验的手机应用。 在HTML5手机开发领域,Sencha Touch以其高度可定制、响应式...

    sencha touch中文翻译文档

    6. **动画与触摸事件**:阐述Sencha Touch如何支持触摸事件和流畅的动画效果,以提升移动设备上的用户体验。 7. **主题与皮肤**:讨论如何定制和应用Sencha Touch的主题,以适应不同的设计风格和品牌需求。 8. **...

    Sencha Touch MVC 模式

    在Sencha Touch中,MVC模式的实现非常直观且强大: 1. **模型(Model)**:通过定义数据字段和关联规则,创建模型类。例如,创建一个`User`模型,可以包含`name`、`email`等属性,并定义保存或同步数据的方法。 ``...

    Sencha Touch显示本地josn数据

    在“Sencha Touch显示本地json数据”这个主题中,我们将深入探讨如何使用Sencha Touch来加载和显示存储在本地的JSON数据。对于初学者来说,这是理解Sencha Touch如何与数据交互的重要步骤。 首先,我们需要理解JSON...

    sencha touch动态加载组件

    Sencha Touch是一款强大的移动应用开发框架,主要用于构建高性能的触屏友好型Web应用程序。它提供了丰富的组件库,使得开发者能够创建复杂、互动性极强的移动应用。在处理大型或内容丰富的应用时,动态加载组件成为...

    sencha touch sdk工具

    综上所述,Sencha Touch SDK工具是Sencha Touch框架的得力助手,它极大地提高了开发效率,简化了移动应用的构建过程。通过熟练掌握这个工具,开发者可以更加专注于业务逻辑和用户体验设计,从而创造出更高质量的触控...

Global site tag (gtag.js) - Google Analytics