`

Ext 2-入门

    博客分类:
  • Ext
阅读更多
    最近项目中正好使用到Ext,对于这个从Yahoo UI JS库扩展出来的框架是慕名已久。正好趁这次机会好好学习一下。先在网上找学习站点,发现了http://extjs.org.cn/,学习资料很多,很好,就是它了。从众多文档中找到了《EXT 中文手册.pdf》。好吧,就从它开始。顺手下载了ExtJs中文的API文档。(以前学Java保留的习惯,api在手,心里踏实)仔细一瞧,最新的Ext版本已经到4了,项目当中还在用Ext 2,正好手册中也是以Ext 2作为模板讲的,就从它开始学。

    下载Ext
如果你未曾下载过,那应从这里下载最新版本的Ext http://extjs.com/downloads 。针对你的下载需求,有几个不同的弹性选项。通常地,最稳定的版本,是较多人的选择。下载解包后,那个example文件夹便是一个探索Ext的好地方!
    开始!
我们将使用Ext,来完成一些JavaScript任务。 Zip文件包括三个文件:ExtStart.html, ExtStart.js和ExtStart.css。解包这三个文件到Ext的安装目录中(例如,Ext是在“C:\code\Ext\v1.0”中,那应该在"v1.0"里面新建目录“tutorial”。双击ExtStart.htm,接着你的浏览器打开启动页面,应该会有一条消息告诉你配置已完毕。如果是一个Javascript错误,请按照页面上的指引操作。 在你常用的IDE中或文本编辑器中,打开ExtStart.js看看: Ext.onReady可能是你接触的第一个方法。这个方法是指当前DOM加载完毕后,保证页面内的所有元素能被Script引用(reference)。你可删除alert()那行,加入一些实际用途的代码试试:
Ext.onReady(function() 
{ 
    alert("Congratulations! You have Ext configured correctly!"); 
});

    Element:Ext的核心
大多数的JavaScript操作都需要先获取页面上的某个元素(reference),好让你来做些实质性的事情。传统的JavaScript方法,是通过ID获取Dom节点的:
var myDiv = document.getElementById('myDiv');
 
这毫无问题,不过这样单单返回一个对象(DOM节点),用起来并不是太实用和方便。为了要用那节点干点事情,你还将要手工编写不少的代码;另外,对于不同类型浏览器之间的差异,要你处理起来可真头大了。 进入Ext.element 对象。元素(element)的的确确是Ext的心脏地带,--无论是访问元素(elements)还是完成一些其他动作,都要涉及它。Element的 API是整个Ext库的基础,如果你时间不多,只是想了解Ext中的一两个类的话,Element一定是首选! 由ID获取一个Ext Element如下(首页ExtStart.htm包含一个div,ID名字为“myDiv”,然后,在ExtStart.js中加入下列语句):
Ext.onReady(function() 
{
    var myDiv = Ext.get('myDiv');
});

再回头看看Element对象,发现什么有趣的东东呢?
  • Element包含了常见的DOM方法和属性,提供一个快捷的、统一的、跨浏览器的接口(若使用Element.dom的话,就可以直接访问底层DOM的节点。); 
  • Element.get()方法内置缓存处理(Cache),多次访问同一对象效率上有极大优势;
  • 内置常用的DOM节点的动作,并且是跨浏览器的定位的位置、大小、动画、拖放等等(add/remove CSS classes, add/remove event handlers, positioning, sizing, animation, drag/drop)。

这意味着你可用少量的代码来做各种各样的事情,这里仅仅是一个简单的例子(完整的列表在ExtJs API的Element API中)。

继续在ExtStart.js中,在刚才我们获取好myDiv的位置中加入:
myDiv.highlight(); //黄色高亮显示然后渐退 
myDiv.addClass('red'); // 添加自定义CSS类 (在ExtStart.css定义)
myDiv.center(); //在视图中将元素居中 
myDiv.setOpacity(.25); // 使元素半透明


    获取多个DOM的节点
通常情况下,想获取多个DOM的节点,难以依靠ID的方式来获取。有可能因为没设置ID,或者你不知道ID,又或者直接用ID方式引用有太多元素了。这种情况下,你就会不用ID来作为获取元素的依据,可能会用属性(attribute)或CSS Classname代替。基于以上的原因,Ext引入了一个功能异常强大的Dom Selector库,叫做DomQuery。 DomQuery可作为单独的库使用,但常用于Ext,你可以在上下文环境中(Context)获取多个元素,然后通过Element接口调用。令人欣喜的是,Element对象本身便有Element.selcect的方法来实现查询,即内部调用DomQuery选取元素。这个简单的例子中, ExtStart.htm包含若干段落( 标签),没有一个是有ID的,而你想轻松地通过一次操作马上获取每一段,全体执行它们的动作,可以这样做:
// 每段高亮显示
Ext.select('p').highlight();

DomQuery的选取参数是一段较长的数组,其中包括W3C CSS3 Dom选取器、基本XPatch、HTML属性和更多,请参阅DomQuery API文档以了解这功能强大的库个中细节。

    响应事件
到这范例为止,我们所写的代码都是放在onReady中,即当页面加载后总会立即执行,功能较单一——这样的话,你便知道,如何响应某个动作或事件来执行你希望做的事情,做法是,先分配一个function,再定义一个event handler事件处理器来响应。我们由这个简单的范例开始,打开ExtStart.js,编辑下列的代码:
Ext.onReady(function() 
{ 
Ext.get('myButton').on('click', function()
    { 
        alert("You clicked the button"); 
    }); 
});

加载好页面,代码依然会执行,不过区别是,包含alert()的function是已定义好的,但它不会立即地被执行,是分配到按钮的单击事件中。用浅显的文字解释,就是:获取ID为'myDottom'元素的引用,监听任何发生这个元素上被单击的情况,并分配一个function,以准备任何单击元素的情况。 正路来说,Element.select也能做同样的事情,即作用在获取一组元素上。下一例中,演示了页面中的某一段落被单击后,便有弹出窗口:
Ext.onReady(function() 
{ 
    Ext.select('p').on('click', function() 
    { 
        alert("You clicked a paragraph"); 
    }); 
});


这两个例子中,事件处理的function均是简单几句,没有函数的名称,这种类型函数称为“匿名函数(anonymous function)”,即是没有名的的函数。你也可以分配一个有名字的event handler,这对于代码的重用或多个事件很有用。下一例等效于上一例:
Ext.onReady(function() 
{ 
    var paragraphClicked = function() 
    { 
        alert("You clicked a paragraph"); } 
        Ext.select('p').on('click', paragraphClicked); 
    });

到目前为止,我们已经知道如何执行某个动作。但当事件触发时,我们如何得知这个event handler执行时是作用在哪一个特定的元素上呢?要明确这一点非常简单,Element.on方法传入到even handler的function中(我们这里先讨论第一个参数,不过你应该浏览API文档以了解even handler更多的细节)。在我们之前的例子中,function是忽略这些参数的,到这里可有少许的改变,——我们在功能上提供了更深层次的控制。必须先说明的是,这实际上是Ext的事件对象(event object),一个跨浏览器和拥有更多控制的事件的对象。例如,可以用下列的语句,得到这个事件响应所在的DOM节点:
Ext.onReady(function() 
{ 
    var paragraphClicked = function(e) 
    { 
        Ext.get(e.target).highlight(); 
    } 
    Ext.select('p').on('click', paragraphClicked);
});

注意得到的e.target是DOM节点,所以我们首先将其转换成为EXT的Elemnet元素,然后执行欲完成的事件,这个例子中,我们看见段落是高亮显示的。
分享到:
评论

相关推荐

    Ext入门-详细教程

    Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-...

    EXT5.1-API可直接打开

    EXT5.1-API是针对EXTJS库的一个版本更新,EXTJS是一个广泛使用的JavaScript框架,用于构建富客户端Web应用程序。EXT5.1-API的发布旨在提供更强大、更灵活的功能,同时优化性能和用户体验。这个API提供了丰富的组件和...

    ext 2 简单例子(内附ext-all.css, ext-base.js, ext-all.js三个必不可少的文件)

    ext 是 ExtJs 的简称,是一个强大的js 类库。本资源主要包括三个大的文件ext-all.css,ext-base.js,ext-al.js。在引用ext 类库的时候,这三个文件必不可少。另外我还提供了ext2的一个简单例子,以便大家学习交流。

    ext-4.0.7-gpl

    2. **index.html** - 这是项目的主网页,可能展示了框架的基本示例或者提供了框架的快速入门指南。 3. **ext-all-dev.js, ext-all-debug-w-comments.js, ext-all-debug.js, ext-all.js** - 这些是Ext JS的不同构建...

    Ext-js 入门教程

    ext入门教程 图文并茂。易懂,适合初学者

    ext-4.0.0.jsb2.rar

    这个"ext-4.0.0.jsb2.rar"文件包含的是Ext JS框架的4.0.0版本的源码和相关资源,以.jsb2(即JavaScriptBuilder 2)格式压缩。JavaScriptBuilder是一种工具,可以帮助开发者更有效地管理和构建大型的JavaScript项目。...

    ext的使用入门

    ext的使用入门,特别适合新手学习和使用。给好评哦亲

    EXT-js-中文手册

    - **版本特点**:概述了Ext2版本相比早期版本的主要改进之处,如组件模型的改进、新组件的增加等。 - **新特性**:重点介绍了Ext2中新增的特性,如新的布局方式、Grid组件的增强等。 - **下载指南**:提供了Ext2的...

    Ext2 入门教程.doc

    Ext2 入门教程.docExt2 入门教程.docExt2 入门教程.docExt2 入门教程.doc

    EXT-In-FirstStep

    #### 7.1 EXT组件规划入门 - 提供一个逐步指南,介绍如何规划和创建EXT组件,包括布局、样式和行为的设计。 #### 7.2 EXT布局(Layout) - 深入讲解EXT的布局系统,包括常见的布局类型及其应用,如Border Layout、...

    Ext网址--很实用

    此资源提供了 ExtJS 的完整教程,包括基本概念介绍、组件使用详解等内容,适合初学者入门。 11. **其他相关资源(下载地址:http://download.csdn.net/source/1460912)** - 此链接还提供了一些额外的 ExtJS 学习...

    ext-4.X学习文档

    extjs-4-入门 extjs-4-类系统介绍 extjs-4-数据详解 extjs-4-组件详解 extjs-4-Grids详解 extjs-4-布局和容器 ExtJS 4 表单 ExtJS 4 树 extjs-MVC架构讲解 个人学习资料收集

    ext-4.0.0jar.src

    6. **welcome**:可能是欢迎页面或者示例页面,帮助用户快速了解和入门Ext JS 4.0.0。 在使用"ext-4.0.0jar.src"时,开发者首先需要阅读`release-notes.html`,理解新特性并评估对现有项目的影响。然后,他们可以...

    ext gantt-2.2 demo 示例

    需要下载gantt2.2才能运行 ext 甘特图示例 特别适合新手学习使用

    ext入门必学

    ### ext入门必学知识点详解 #### 一、Ext框架概览与起源 **知识点1:Ext框架起源** Ext最初作为YUI(Yahoo User Interface Library)的扩展存在,名为YUI.Ext,随后发展成为一个独立的JavaScript框架,不再依赖于...

    摘录:Ext Js 简单入门(淡入淡出、波纹效果)

    在"摘录:Ext Js 简单入门(淡入淡出、波纹效果)"这篇博文中,作者主要介绍了如何利用Ext Js实现两种常见的视觉效果:淡入淡出和波纹效果。下面将详细探讨这两个主题。 **淡入淡出效果** 在网页设计中,淡入淡出效果...

    关于Ext+Struts2的整合案例-Ext学习之路之-入门

    NULL 博文链接:https://yuanqixun.iteye.com/blog/405595

    解读Linux内核--入门篇

    3. **文件系统**:Linux内核支持多种文件系统,如EXT4、XFS、Btrfs等。文件系统负责组织磁盘上的数据,实现文件的创建、读写和删除操作。 4. **设备驱动**:内核包含了大量的设备驱动程序,用于与硬件设备交互。...

    Ext2.0学习入门

    资源名称:Ext2.0学习入门资源截图: 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

    掏钱学Ext (EXT的经典入门)

    非常好的EXT入门书 EXT是从YUI-EXT发展来的一套AJAX控件,在下认为它是当今最好用的JS控件库了,非常有学习的价值。

Global site tag (gtag.js) - Google Analytics