`
liss
  • 浏览: 844090 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

extJs 2.0学习笔记(DomHelper.js篇)

阅读更多

这个文件定义的是Ext.DomHelper类。作用是提供一些Dom的操作。这个类不是静态类。
  这个类第一个函数createHtml是一个私有函数,用于从指定转入创建对应的html文本。这个类有多种情况,根据源代码分析:

  var createHtml = function(o){}

  o的取值可能有:string(现成的html字符串)、Array(JSON对象数组)、object(JSON对象)

  可见,createHtml的主要作用是把一个JSON序列化为html字符串。那么,createHtml能识别的JSON对象有什么格式要求呢?当然有,描述如下:

  {tag:string,          //元素的标记名,如果没有,默认为div

  children|cn:string|Array|json,  //子结点对应的json数组或字节点的html或单个json

  html:string,          //对应的html,如果有cn或children属性就忽略

  style:function|string|json,    //元素的样式,可以是函数,字符串,json对象

  cls:string,           //元素的class属性的值

  htmlFor:string         //元素的For属性,

  x:y              //x表示其他名字,y表示非函数、非空内容

  }

  我发现,style尽管允许是放一个function,但是,如果真是function的话,那么对应的style并不会生成,因为如下代码:

  if(attr == "tag" || attr == "children" || attr == "cn" || attr == "html" || typeof o[attr] == "function") continue;

  如果值是函数,就continue了。这应当是extJs程序员不小心的bug。

 

  下面有一个私有函数:createDom,定义为var createDom = function(o, parentNode){……},用于根据一个o创建dom结构树,并把它放到parentNode这个节点下。o的情况跟上面的createHtml一样。这儿我学到的是:documentFragment,这个函数用于创建一个文档碎片,为什么用它呢?点此处见详情!document结构下,每appendChild一次就引发一次树的刷新,这将影响性能,而使用Fragment,相当于先将所节点创建好好一缓存,然后一次性appendChild到document(注意,这儿的document泛指文档树)下。

 

  var insertIntoTable = function(tag, where, el, html){……}

  它的作用是往表里面插入单元格或行、或tbody或在table之前或之后插入指定html内容的文本。即:

  tag:null/td/tr/tbody

  where:beforebegin/afterend/afterbegin

  el:节点的引用

  html:要插入的内容

 

  后面就是insertHtml了,这个函数是关键,可惜里面好多函数不熟,整个DomHelper中的那些函数,好多都是建立在它的基础之上的。像什么:insertBefore、insertEnd、insertFirst、append。overwrite是重写已有节点的 innerHTML用的。至此功能倒是齐全了。

  其实,总结Dom操作,无非就是插、删、修改。这儿封装的都是插入,因为修改简单,改它的innerHTMl就是了,况且这儿还有一个overwrite。删也简单,有Ext.destroy。Ext.Element.remove。

  

  今天精神有点不好,我看了一大把的js文件。每个文件的代码量都不少。这要看到什么时候啊。不能这么干了。不过,还是打算花大力气研究一下Ext.Element。



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/huoyanxueren/archive/2008/07/16/2662777.aspx

分享到:
评论

相关推荐

    extJs 2.1学习笔记

    目录 1. ExtJs 结构树 2 2. 对ExtJs的态度 3 3. Ext.form概述 4 4. Ext.TabPanel篇 5 5. Function扩展篇 7 6. Ext.data.Store篇 10 ...27. extJs 2.0学习笔记(DomHelper.js篇) 76 28. extJs 2.0学习笔记(ext.js篇) 77

    ExtJs2.0学习系列大全.rar

    ExtJs2.0学习系列大全 共15个word文档,大部分介绍都在里面了

    ExtJS2.0实用简明教程.rar

    ExtJS2.0实用简明教程.rar

    ExtJs2.0学习系列.CHM

    关于ext学习的资料,有些例子 ExtJs2.0学习系列.CHM

    ExtJS2.0实用简明教程.pdf

    序 言 ExtJS是一个很不错的Ajax框架, 可以用来开发带有华丽外观的富客户端应用, 使得我 们的b/s应用更加具有...ExtJS的一些心得及小结, 希望能帮助正在学习或准备学习ExtJS的朋友们快速走进ExtJS2.0 的精彩世界。

    ExtJs2.0学习系列

    ExtJS是一种基于JavaScript的开源富客户端框架,特别适用于构建企业级的Web应用程序。在ExtJS 2.0版本中,这个框架提供了丰富的组件库、强大的数据管理以及灵活的布局管理,使得开发者能够创建功能强大、界面友好的...

    ExtJS2.0.rar_extjs2.0

    ExtJS 是一个强大的JavaScript库,专门用于构建富互联网应用程序(RIA)。在2.0版本中,它提供了丰富的组件和功能,让Web应用看起来更像桌面软件,提供了优秀的用户体验。这个"ExtJS2.0.rar"压缩包包含了关于如何...

    extJs+2.1学习笔记.pdf

    14. **extJs 2.0 学习笔记(Ext.data序论篇)** 这部分介绍了Ext.data模块的基础,包括DataModel、Reader和Writer,是理解数据绑定和数据管理的关键。 15. **extJs 2.0 学习笔记(Ext.Panel终结篇)** Panel是...

    Extjs4.0学习笔记大全.pdf

    Extjs4.0学习笔记大全.pdf,供大家学习

    ExtJS 2.0实用简明教程.rar

    ExtJS是一个Ajax框架,是一个用javascript写的,用于在客户端创建丰富多彩的web应用程序界面。ExtJS可以用来开发RIA也即富客户端的AJAX应用,下 ExtJS是一个用javascript写的,主要用于创建前端用户界面,是一个与...

    ExtJS 2.0实用简明教程.chm

    EXT2.0入门教程和API详细规范,适用于初级学习者和开发工作者

    extJs2.0+spket-1.6.11.zip

    ExtJS 2.0 和 Spket 1.6.11 是两个在Web开发领域中常用的工具,尤其在创建富互联网应用程序(Rich Internet Applications,RIAs)时。这两个工具的结合使用可以极大地提升开发效率和代码质量。 **ExtJS 2.0** ExtJS...

    extJs2.0 中文手册

    由于无法直接查看图像内容,我将基于标题、描述和标签的内容,为您提供关于ExtJs2.0中文手册的知识点概述。 ExtJs是一个强大的JavaScript框架,用于创建富互联网应用(RIA)。它提供了一套丰富的组件和工具来构建...

    资料:包括extjs2.0源码

    通过深入EXTJS 2.0的源码,开发者不仅可以提升EXTJS的使用技巧,还能学习到JavaScript编程的最佳实践,对于前端开发者来说是一份宝贵的资源。不过,由于EXTJS后续版本(如EXTJS 4.x、6.x及更高版本)引入了许多新...

    Extjs2.0 智能提示

    ExtJS 是一个强大的JavaScript库,专门用于构建富客户端Web应用程序。在ExtJS 2.0版本中,智能提示(Intelligent Hinting)是一项关键特性,它增强了开发人员的编码体验,提高了开发效率。智能提示功能提供了自动...

    ExtJS2.0简明教程

    ExtJS 是一个很不错的Ajax 框架,可以用来开发带有华丽外观的富客户端应用,ExtJS 是一个用javascript 编写,与后台技术无关的前端ajax 框架。可以把ExtJS 用在.Net、Java、Php 等各种开发语言开发的应用中。教程...

    ajax框架之extjs2.0

    ExtJS 2.0是一个基于JavaScript的开源AJAX框架,专为构建富互联网应用程序(RIA)而设计。它提供了一套完整的组件模型、数据绑定机制、丰富的用户界面控件和强大的API,使得开发者能够轻松创建功能强大且交互性强的...

    ExtJS2.0实用简明教程

    ExtJS2.0实用简明教程.chm ExtJS2.0实用简明教程

    ExtJS2.0sheyongjiaochen.rar_WEB RIA_extjs

    "ExtJS2.0sheyongjiaochen.chm"这个文件名可能指的是一个关于ExtJS 2.0的教程或参考手册,通常以CHM(Compiled Help Manual)格式存储,这是微软提供的帮助文档格式,用于方便用户查阅和学习。在这样的资源中,你...

Global site tag (gtag.js) - Google Analytics