﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-我心飞扬-文章分类-ExtJS Home</title><link>http://www.cnitblog.com/thinke365/category/8418.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 28 Sep 2011 02:46:18 GMT</lastBuildDate><pubDate>Wed, 28 Sep 2011 02:46:18 GMT</pubDate><ttl>60</ttl><item><title>Ext设计模式</title><link>http://www.cnitblog.com/thinke365/articles/62080.html</link><dc:creator>Monicax</dc:creator><author>Monicax</author><pubDate>Thu, 22 Oct 2009 17:59:00 GMT</pubDate><guid>http://www.cnitblog.com/thinke365/articles/62080.html</guid><wfw:comment>http://www.cnitblog.com/thinke365/comments/62080.html</wfw:comment><comments>http://www.cnitblog.com/thinke365/articles/62080.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/thinke365/comments/commentRss/62080.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/thinke365/services/trackbacks/62080.html</trackback:ping><description><![CDATA[1、组件是一次加载完毕好呢？还是第一次使用时再加载？<br><br>2、组件中各个成分分开定义好，还是合在一起定义？(<span style="FONT-SIZE: 10pt; COLOR: #000080">getCmp()可以通过id获取组件?这个id在整个应用中都需要唯一吗</span>?)<br>定义成一个有机整体，有很多匿名组件?<br><br>
<img src ="http://www.cnitblog.com/thinke365/aggbug/62080.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/thinke365/" target="_blank">Monicax</a> 2009-10-23 01:59 <a href="http://www.cnitblog.com/thinke365/articles/62080.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ExtJS Pitfalls</title><link>http://www.cnitblog.com/thinke365/articles/62055.html</link><dc:creator>Monicax</dc:creator><author>Monicax</author><pubDate>Thu, 22 Oct 2009 05:24:00 GMT</pubDate><guid>http://www.cnitblog.com/thinke365/articles/62055.html</guid><wfw:comment>http://www.cnitblog.com/thinke365/comments/62055.html</wfw:comment><comments>http://www.cnitblog.com/thinke365/articles/62055.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/thinke365/comments/commentRss/62055.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/thinke365/services/trackbacks/62055.html</trackback:ping><description><![CDATA[1、同一个函数中(<span style="FONT-SIZE: 10pt; COLOR: #800080">不是引用对象中的成员</span>)，<span style="FONT-SIZE: 10pt; COLOR: #0000ff">变量声明是有顺序的，必须先声明再使用</span>，声明了TextField和FormPanel，在Window之后，但是Window中已经引用了那个变量(<span style="FONT-SIZE: 10pt; COLOR: #008000">在开头处，formPanel为undefined，所以最终的窗口中没有显示FormPanel</span>。。。<span style="COLOR: #008080">这种小问题很耗时间</span>)<br><br>2、一个弹出window，为什么第一次打开还可以，第二次打开就出错了呢?<br>是某个值没有初始化好?&nbsp;&nbsp; (问题找到了，<span style="FONT-SIZE: 10pt; COLOR: #800080">window关闭的默认操作时close，会把整个元素从DOM树中删除。所以第二次打开，会报错</span>，因为那个applyTo的&lt;div&gt;标签)，把applyTo删除了就行了。 每次调用，会对整个窗口组件进行重新初始化。。。<br>&nbsp;&nbsp;<br>放在函数中的窗口，每次初始化，如果设置为closeAction: 'hide'，<span style="FONT-SIZE: 10pt; COLOR: #800080">函数调用后，不会销毁对象，而下次打开又将创建新的对象</span>。。。 <span style="FONT-SIZE: 10pt; COLOR: #ff0000"><strong>会造成资源浪费</strong></span>，类似于内存泄露。。。&nbsp; (<span style="COLOR: #ff0000"><strong>这种性能方面的考虑是体现技术水准的细节</strong></span>:)<br><br><br>
<img src ="http://www.cnitblog.com/thinke365/aggbug/62055.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/thinke365/" target="_blank">Monicax</a> 2009-10-22 13:24 <a href="http://www.cnitblog.com/thinke365/articles/62055.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ext排版</title><link>http://www.cnitblog.com/thinke365/articles/62051.html</link><dc:creator>Monicax</dc:creator><author>Monicax</author><pubDate>Wed, 21 Oct 2009 18:56:00 GMT</pubDate><guid>http://www.cnitblog.com/thinke365/articles/62051.html</guid><wfw:comment>http://www.cnitblog.com/thinke365/comments/62051.html</wfw:comment><comments>http://www.cnitblog.com/thinke365/articles/62051.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/thinke365/comments/commentRss/62051.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/thinke365/services/trackbacks/62051.html</trackback:ping><description><![CDATA[1、使用不同的排版，有时候显示出来的结果是完全不同的。<br>如在FormPanel中放了很多表单控件，显示都没有问题，是自上而下地排布，设置好宽度就行了。<br>之后加了一个Panel，里面放置两个GridPanel，如果最外层Panel设置板式为 'fit'，则里面的GridPanel会尽量占满空间?<br><br>2、Panel中排版<span style="FONT-SIZE: 10pt; COLOR: red">不用设定排版对象</span>(这是对对象内部属性的设定了)，这里直接声明属性就可以了。<br>&nbsp;&nbsp;layout : {<br>&nbsp;&nbsp;&nbsp;type : 'hbox',<br>&nbsp;&nbsp;&nbsp;padding : 40<br>&nbsp;} <br><br>
<img src ="http://www.cnitblog.com/thinke365/aggbug/62051.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/thinke365/" target="_blank">Monicax</a> 2009-10-22 02:56 <a href="http://www.cnitblog.com/thinke365/articles/62051.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ext Panel</title><link>http://www.cnitblog.com/thinke365/articles/62047.html</link><dc:creator>Monicax</dc:creator><author>Monicax</author><pubDate>Wed, 21 Oct 2009 11:28:00 GMT</pubDate><guid>http://www.cnitblog.com/thinke365/articles/62047.html</guid><wfw:comment>http://www.cnitblog.com/thinke365/comments/62047.html</wfw:comment><comments>http://www.cnitblog.com/thinke365/articles/62047.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/thinke365/comments/commentRss/62047.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/thinke365/services/trackbacks/62047.html</trackback:ping><description><![CDATA[1、<span style="FONT-SIZE: 10pt; COLOR: #008000">GridPanel和FormPanel有什么关系，各自的使用场合。<font color=#000000 size=3>在什么场合用GridPanel合适，在什么场合和FormPanel合适? 这些都是值得考虑的地方。</font><br></span>它们的父类都是Panel。<br>还可以进行更多的比较吗?<br><span style="FONT-SIZE: 10pt; COLOR: #ff0000">图片列表，用GridPanel更合适吗</span>?<br><br>2、给window加<span style="COLOR: red"><strong>autoHeight</strong></span>属性true，则window可以自适应内部容器的变化?<br>但是不是可以手动拉大窗口?<br><br>
<img src ="http://www.cnitblog.com/thinke365/aggbug/62047.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/thinke365/" target="_blank">Monicax</a> 2009-10-21 19:28 <a href="http://www.cnitblog.com/thinke365/articles/62047.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ext模板</title><link>http://www.cnitblog.com/thinke365/articles/62029.html</link><dc:creator>Monicax</dc:creator><author>Monicax</author><pubDate>Tue, 20 Oct 2009 17:50:00 GMT</pubDate><guid>http://www.cnitblog.com/thinke365/articles/62029.html</guid><wfw:comment>http://www.cnitblog.com/thinke365/comments/62029.html</wfw:comment><comments>http://www.cnitblog.com/thinke365/articles/62029.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/thinke365/comments/commentRss/62029.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/thinke365/services/trackbacks/62029.html</trackback:ping><description><![CDATA[<p>呵呵，<span style="FONT-SIZE: 10pt; COLOR: #0000ff">原来子模板的概念就是这里来的啊</span>。<br></p>
<img src ="http://www.cnitblog.com/thinke365/aggbug/62029.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/thinke365/" target="_blank">Monicax</a> 2009-10-21 01:50 <a href="http://www.cnitblog.com/thinke365/articles/62029.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ext消息框</title><link>http://www.cnitblog.com/thinke365/articles/62025.html</link><dc:creator>Monicax</dc:creator><author>Monicax</author><pubDate>Tue, 20 Oct 2009 14:53:00 GMT</pubDate><guid>http://www.cnitblog.com/thinke365/articles/62025.html</guid><wfw:comment>http://www.cnitblog.com/thinke365/comments/62025.html</wfw:comment><comments>http://www.cnitblog.com/thinke365/articles/62025.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/thinke365/comments/commentRss/62025.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/thinke365/services/trackbacks/62025.html</trackback:ping><description><![CDATA[confirm使用的是options对象，show : function(options)。也可以对confirm进行简单封装，也可以通过alert的形式加以调用。<br>alert则是直接使用一层的参数，alert : function(title, msg, fn, scope)。<br>
<img src ="http://www.cnitblog.com/thinke365/aggbug/62025.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/thinke365/" target="_blank">Monicax</a> 2009-10-20 22:53 <a href="http://www.cnitblog.com/thinke365/articles/62025.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JS Concept</title><link>http://www.cnitblog.com/thinke365/articles/62024.html</link><dc:creator>Monicax</dc:creator><author>Monicax</author><pubDate>Tue, 20 Oct 2009 13:21:00 GMT</pubDate><guid>http://www.cnitblog.com/thinke365/articles/62024.html</guid><wfw:comment>http://www.cnitblog.com/thinke365/comments/62024.html</wfw:comment><comments>http://www.cnitblog.com/thinke365/articles/62024.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/thinke365/comments/commentRss/62024.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/thinke365/services/trackbacks/62024.html</trackback:ping><description><![CDATA[<p>1、JavaScript中所有的东西基本上都是function?<span style="FONT-SIZE: 10pt; COLOR: #0000ff">那些所谓的类，实际上定义时用的关键词是function，而不是class</span>。<br></p>
<img src ="http://www.cnitblog.com/thinke365/aggbug/62024.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/thinke365/" target="_blank">Monicax</a> 2009-10-20 21:21 <a href="http://www.cnitblog.com/thinke365/articles/62024.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ExtJS Steps</title><link>http://www.cnitblog.com/thinke365/articles/62022.html</link><dc:creator>Monicax</dc:creator><author>Monicax</author><pubDate>Tue, 20 Oct 2009 11:26:00 GMT</pubDate><guid>http://www.cnitblog.com/thinke365/articles/62022.html</guid><wfw:comment>http://www.cnitblog.com/thinke365/comments/62022.html</wfw:comment><comments>http://www.cnitblog.com/thinke365/articles/62022.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/thinke365/comments/commentRss/62022.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/thinke365/services/trackbacks/62022.html</trackback:ping><description><![CDATA[1、开始从数据模型这块切入，显示用模拟数据，<span style="FONT-SIZE: 10pt; COLOR: #0000ff">很快可以直接切入数据库操作</span>。<span style="FONT-SIZE: 10pt; COLOR: #0000ff">和之前的SSH，或etmvc都串联起来</span>。<br>2、Ext最小化配置，如果只用到Ext的部分控件，或者空间有限，可以最少程度地载入Ext代码。即<span style="FONT-SIZE: 10pt; COLOR: red">只载入必要的代码，如何操作呢</span>?<br>Grid奇偶行使用不同的颜色显示，如何操作呢?<br>3、设置<span style="FONT-SIZE: 10pt; COLOR: red">失效属性是disabled，而不是disable</span>。<br>4、TreePanel需要设置SelectionModel，如果不设置则是Ext.tree.DefaultSelectionModel，也可以设置为Ext.tree.MultiSelectionModel。<br>通过TreeSelectionModel.js找到这两个类的。。。<br>这里的<span style="FONT-SIZE: 10pt; COLOR: #800080"><strong>Node数组自定义有checked选项，才会显示复选框，不是控件自身提供的，所以需要自己写代码对动作进行处理</strong></span>?<br>复选框的事件选中处理也需要自己实现了。。。<br>check<span style="COLOR: red"><strong>e</strong></span>change监听写了，但就是没用，原来多写了一个字符。。。<br>
<img src ="http://www.cnitblog.com/thinke365/aggbug/62022.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/thinke365/" target="_blank">Monicax</a> 2009-10-20 19:26 <a href="http://www.cnitblog.com/thinke365/articles/62022.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>存储对象</title><link>http://www.cnitblog.com/thinke365/articles/62021.html</link><dc:creator>Monicax</dc:creator><author>Monicax</author><pubDate>Tue, 20 Oct 2009 09:53:00 GMT</pubDate><guid>http://www.cnitblog.com/thinke365/articles/62021.html</guid><wfw:comment>http://www.cnitblog.com/thinke365/comments/62021.html</wfw:comment><comments>http://www.cnitblog.com/thinke365/articles/62021.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/thinke365/comments/commentRss/62021.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/thinke365/services/trackbacks/62021.html</trackback:ping><description><![CDATA[1、ComboBox的数据要放在存储对象之中，<span style="FONT-SIZE: 10pt; COLOR: #0000ff">有多种存储对象</span>，这里使用比较简单的那种，即ArrayStore。它居然也要定义fields，相当于是定义数组的格式，如三维数组:)，<span style="FONT-SIZE: 10pt; COLOR: #ff00ff">它的数据有一个域，名称是data（实际对应于一个Array对象?可以往Array对象里放很多其他对象?<span style="COLOR: #ff0000">而对象的域则在ArrayStore的field里面声明过了</span>。。。这样就可以读取到数据了）</span>。<span style="FONT-SIZE: 10pt; COLOR: #800080">在ComboBox引用的变量名则是store</span>。<br><br>2、JsonStore里面<span style="FONT-SIZE: 10pt; COLOR: #0000ff">有个url属性，可以通过load方法，使用HTTP直接访问远程的数据</span>?<br>也可以对应于一个JsonReader和一个HttpProxy?<br><br>3、Ext3.0.0中的ArrayStore即原来的SimpleStore? <span style="FONT-SIZE: 10pt; COLOR: red">一些后向兼容性的东西</span>。。。<br>Ext.data.SimpleStore = Ext.data.ArrayStore;<br><br><br>Advanced<br>1、可以看下ArrayStore的实现，<span style="FONT-SIZE: 10pt; COLOR: red"><strong>里面用到了不少高级JS技术</strong></span>，但是代码却很短。<br><br>2、同一个Store不能同时放到两个FormPanel的items中。如果两个FormPanel需要同样的Store怎么办，声明两个完全一样的Store?要写很多重复代码?<br><br><br>
<img src ="http://www.cnitblog.com/thinke365/aggbug/62021.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/thinke365/" target="_blank">Monicax</a> 2009-10-20 17:53 <a href="http://www.cnitblog.com/thinke365/articles/62021.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ExtJS表单</title><link>http://www.cnitblog.com/thinke365/articles/62017.html</link><dc:creator>Monicax</dc:creator><author>Monicax</author><pubDate>Tue, 20 Oct 2009 05:09:00 GMT</pubDate><guid>http://www.cnitblog.com/thinke365/articles/62017.html</guid><wfw:comment>http://www.cnitblog.com/thinke365/comments/62017.html</wfw:comment><comments>http://www.cnitblog.com/thinke365/articles/62017.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/thinke365/comments/commentRss/62017.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/thinke365/services/trackbacks/62017.html</trackback:ping><description><![CDATA[表单是HTML中最基本的概念之一。<br>1、Ext中的<span style="FONT-SIZE: 10pt; COLOR: #0000ff">下拉框也是一种表单控件</span>，其背后对应着一个store。里面存放着下拉框的具体选项。可以是任何Ext.data.Store的子类。JS的继承通过prototype实现，和具体的JS引擎实现相关。<br>ComboBox是一个很简单的类，<span style="FONT-SIZE: 10pt; COLOR: #3366ff">但是在Ext的例子说明中却占用了不少的篇幅</span>。可见<span style="FONT-SIZE: 10pt; COLOR: #800080">是一个很有用的控件</span>。<br>此外，在EditGridPanel中也可以用到这个控件的。<br>配置选项：triggerAction,<span style="FONT-SIZE: 10pt; COLOR: #0000ff">点击下拉操作时调用的方法</span>，这里选择all，是调用查询操作。<span style="FONT-SIZE: 10pt; COLOR: #0000ff">如果不设定这个选项，只能选一次，再次只能看到一个选项了</span>。<br>
<img src ="http://www.cnitblog.com/thinke365/aggbug/62017.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/thinke365/" target="_blank">Monicax</a> 2009-10-20 13:09 <a href="http://www.cnitblog.com/thinke365/articles/62017.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>表达式语言EL</title><link>http://www.cnitblog.com/thinke365/articles/60937.html</link><dc:creator>Monicax</dc:creator><author>Monicax</author><pubDate>Sun, 23 Aug 2009 08:56:00 GMT</pubDate><guid>http://www.cnitblog.com/thinke365/articles/60937.html</guid><wfw:comment>http://www.cnitblog.com/thinke365/comments/60937.html</wfw:comment><comments>http://www.cnitblog.com/thinke365/articles/60937.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/thinke365/comments/commentRss/60937.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/thinke365/services/trackbacks/60937.html</trackback:ping><description><![CDATA[<p><span style="COLOR: #0000ff">JavaScript中，Java中都有表达式语言</span>。<br>Struts中的表达式语言 ognl是一种很强大的语言，可以获得 对象的属性，请求中的参数等。<br>JSTL， JSF Tab Language也具有这种能力。<br><br>对于表达式语言，可以做一个全面的调查。<br>CSS的expression语句也支持计算功能。 有人用CSS实现了 在IE6上显示IE7的风格。<br>CSS的expression语句，使用的是 JavaScript的语法。<br>不过这个可能是IE的扩展，Firefox并不支持?<br><br>三种基本的逻辑结构：顺序、条件和循环结构。<br><br></p>
<img src ="http://www.cnitblog.com/thinke365/aggbug/60937.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/thinke365/" target="_blank">Monicax</a> 2009-08-23 16:56 <a href="http://www.cnitblog.com/thinke365/articles/60937.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ext组件</title><link>http://www.cnitblog.com/thinke365/articles/60929.html</link><dc:creator>Monicax</dc:creator><author>Monicax</author><pubDate>Sat, 22 Aug 2009 13:04:00 GMT</pubDate><guid>http://www.cnitblog.com/thinke365/articles/60929.html</guid><wfw:comment>http://www.cnitblog.com/thinke365/comments/60929.html</wfw:comment><comments>http://www.cnitblog.com/thinke365/articles/60929.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/thinke365/comments/commentRss/60929.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/thinke365/services/trackbacks/60929.html</trackback:ping><description><![CDATA[<p>Ext组件<br>Component是所有组件的基类。<br>所有Component的子类都可以参与 Ext的标准生命周期，如组件的创建、渲染和销毁。</p>
<p>它们有 hide/show 和 enable/disable 等基本行为的自动化支持。<br>Component允许子类 lazy-render到任何 Container中，或者注册到 ComponentMgr中，这样就可以在任何时候通过Ext.getCmp来获得对组件的引用</p>
<p>每个组件都有特定的 xtype。<br><br>xtype&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Class<br>-------------&nbsp;&nbsp;&nbsp; ------------------<br>box&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.BoxComponent<br>button&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.Button<br>colorpalette&nbsp;&nbsp;&nbsp;&nbsp; Ext.ColorPalette<br>component&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.Component<br>container&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.Container<br>cycle&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.CycleButton<br>dataview&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.DataView<br>datepicker&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.DatePicker<br>editor&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.Editor<br>editorgrid&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.grid.EditorGridPanel<br>grid&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.grid.GridPanel<br>paging&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.PagingToolbar<br>panel&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.Panel<br>progress&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.ProgressBar<br>propertygrid&nbsp;&nbsp;&nbsp;&nbsp; Ext.grid.PropertyGrid<br>slider&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.Slider<br>splitbutton&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.SplitButton<br>statusbar&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.StatusBar<br>tabpanel&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.TabPanel<br>treepanel&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.tree.TreePanel<br>viewport&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.Viewport<br>window&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.Window</p>
<p>Toolbar components<br>---------------------------------------<br>toolbar&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.Toolbar<br>tbbutton&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.Toolbar.Button<br>tbfill&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.Toolbar.Fill<br>tbitem&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.Toolbar.Item<br>tbseparator&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.Toolbar.Separator<br>tbspacer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.Toolbar.Spacer<br>tbsplit&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.Toolbar.SplitButton<br>tbtext&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.Toolbar.TextItem</p>
<p>Form components<br>---------------------------------------<br>form&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.FormPanel<br>checkbox&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.form.Checkbox<br>combo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.form.ComboBox<br>datefield&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.form.DateField<br>field&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.form.Field<br>fieldset&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.form.FieldSet<br>hidden&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.form.Hidden<br>htmleditor&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.form.HtmlEditor<br>label&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.form.Label<br>numberfield&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.form.NumberField<br>radio&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.form.Radio<br>textarea&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.form.TextArea<br>textfield&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.form.TextField<br>timefield&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.form.TimeField<br>trigger&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.form.TriggerField<br><span style="FONT-SIZE: 10pt; COLOR: red">按上面的描述来看组件主要分为3类：1、大类组件；2、工具栏组件；3、表单组件</span><br><br>Component.js中，有下面一段代码：config = {applyTo: config, id: config.id || config}; // </p>
<span style="FONT-SIZE: 10pt; COLOR: #0000ff"><strong>其实不是把 前面两个属性加入到后面的对象中</strong></span>。<br><br>整个ExtJs的代码也就37060行。<br>从ext-all-debug.js中可以看到这一点(<span style="FONT-SIZE: 10pt; COLOR: red"><strong>debug版本的排版还可以，ext-all.js就没法看了</strong></span>，是为了缩小文件大小，把所有缩进都取消的版本，适合于机器阅读。)<br>整个文件，涉及到addEvents的地方总共57处，<span style="FONT-SIZE: 10pt; COLOR: red"><strong>包括addEvents定义的地方</strong></span>。<br>可见addEvents使用，也是非常的慎重，只在必要的时候用到。<br><br>addEvents函数的定义如下(可以直接在ext-all-debug.js中找)<br>&nbsp;&nbsp;&nbsp; addEvents : function(o){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(!this.events){&nbsp;&nbsp; // <span style="FONT-SIZE: 10pt; COLOR: #0000ff"><strong>检验调用对象是否有events属性，如果没有则创建events属性，当然一开始这个属性是空的</strong></span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.events = {};<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(typeof o == 'string'){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 那些属性都是设置好的吗? 如果arguments中声明的量是false，则设置为true。&nbsp; <span style="FONT-SIZE: 10pt; COLOR: #ff0000"><strong>arguments和o有什么关系</strong></span>?<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(var i = 0, a = <span style="BACKGROUND-COLOR: yellow">arguments</span>, v; v = a[i]; i++){&nbsp; // <span style="FONT-SIZE: 10pt; COLOR: #0000ff"><strong>这个arguments参数是从哪里传过来的?<br></strong></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(!this.events[a[i]]){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.events[a[i]] = true;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }else{&nbsp; // 如果o不是字符类型，则把o中的属性拷贝到events属性中(这里是events属性中没有的东西才会拷贝过来，<span style="FONT-SIZE: 10pt; COLOR: #0000ff"><strong>也就是说不会有事件覆盖</strong></span>?)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.applyIf(this.events, o);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; }
<img src ="http://www.cnitblog.com/thinke365/aggbug/60929.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/thinke365/" target="_blank">Monicax</a> 2009-08-22 21:04 <a href="http://www.cnitblog.com/thinke365/articles/60929.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ext便条</title><link>http://www.cnitblog.com/thinke365/articles/60928.html</link><dc:creator>Monicax</dc:creator><author>Monicax</author><pubDate>Sat, 22 Aug 2009 12:14:00 GMT</pubDate><guid>http://www.cnitblog.com/thinke365/articles/60928.html</guid><wfw:comment>http://www.cnitblog.com/thinke365/comments/60928.html</wfw:comment><comments>http://www.cnitblog.com/thinke365/articles/60928.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/thinke365/comments/commentRss/60928.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/thinke365/services/trackbacks/60928.html</trackback:ping><description><![CDATA[ExtJS的分页功能需要后台服务器的支持才可以实现。<br><br>
<img src ="http://www.cnitblog.com/thinke365/aggbug/60928.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/thinke365/" target="_blank">Monicax</a> 2009-08-22 20:14 <a href="http://www.cnitblog.com/thinke365/articles/60928.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ext对话框</title><link>http://www.cnitblog.com/thinke365/articles/60920.html</link><dc:creator>Monicax</dc:creator><author>Monicax</author><pubDate>Fri, 21 Aug 2009 15:21:00 GMT</pubDate><guid>http://www.cnitblog.com/thinke365/articles/60920.html</guid><wfw:comment>http://www.cnitblog.com/thinke365/comments/60920.html</wfw:comment><comments>http://www.cnitblog.com/thinke365/articles/60920.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/thinke365/comments/commentRss/60920.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/thinke365/services/trackbacks/60920.html</trackback:ping><description><![CDATA[居然可以在对话框里直接插入图片。强大的。<br>还可以直接把链接放在里面的。。。<br><br>不过是把图片放在链接里面的。<br>&lt;font color=red size=11&gt;xx&lt;/font&gt;&lt;br&gt;&lt;a href=http://www.baidu.com&gt;&lt;img src=http://www.hostname.com/logo.gif&gt;&lt;/img&gt;&lt;/a&gt;<br><span style="FONT-SIZE: 10pt; COLOR: red">显示了红色的字和图片(图片上有跳转地址)</span><br><br>
<img src ="http://www.cnitblog.com/thinke365/aggbug/60920.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/thinke365/" target="_blank">Monicax</a> 2009-08-21 23:21 <a href="http://www.cnitblog.com/thinke365/articles/60920.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>函数式语言</title><link>http://www.cnitblog.com/thinke365/articles/60898.html</link><dc:creator>Monicax</dc:creator><author>Monicax</author><pubDate>Thu, 20 Aug 2009 17:43:00 GMT</pubDate><guid>http://www.cnitblog.com/thinke365/articles/60898.html</guid><wfw:comment>http://www.cnitblog.com/thinke365/comments/60898.html</wfw:comment><comments>http://www.cnitblog.com/thinke365/articles/60898.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/thinke365/comments/commentRss/60898.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/thinke365/services/trackbacks/60898.html</trackback:ping><description><![CDATA[<p><span style="FONT-SIZE: 10pt; COLOR: #ff6600">函数式语言要求做到，函数内的运算对函数外无副作用</span>。但是<span style="FONT-SIZE: 10pt; COLOR: #800080"><strong>事实上JavaScript没能做到这一点</strong></span>。它允许在函数内部引用和修改全局变量，甚至可以声明全局变量。除此之外，JS也允许在函数内修改对象和数组的成员，这使得函数并不是仅仅通过它的返回值来影响系统。<span style="COLOR: #ff6600; FONT-FAMILY: Verdana">这些其实是破坏它的函数式特性的</span>。</p>
<span style="FONT-SIZE: 10pt; COLOR: #ff0000"><strong>可见Js并不是一种纯粹的函数式语言</strong></span>。&nbsp; 这样的设计有好处和弊病吗? 更灵活了，但是稳定性会有下降?<br><br>JavaScript的函数仍然是有副作用的。<br>函数式语言中的函数，和我们平常说的函数有些不同(<span style="FONT-SIZE: 10pt; COLOR: red"><strong>不同于普通语言，如C、Pascal中所谓的函数</strong></span>)，它们通常是指 源于 lamda演算而实现的函数。<br>已经证明，&#955;演算的计算能力和 图灵机是等价的。<br><br>现有JS引擎实现，都不支持<span style="BACKGROUND-COLOR: yellow">尾递归</span>，这种机制可以使用 函数来完成 大量的递归而不影响效率。<br>如果用递归函数来完成一些循环， <span style="FONT-SIZE: 10pt; COLOR: red"><strong>会消耗很多的栈，以用于保存 上下文和中间值。 会造成很大的性能损耗</strong></span>。&nbsp; <span style="FONT-SIZE: 10pt; COLOR: #0000ff"><strong>对函数调用的栈也有了更深入的理解</strong></span><br>一些 函数式语言，都已经实现了 尾递归，和相应的 优化机制。 它们只在函数的最后语句完成一次跳转， 不用保存中间变量，不会造成栈溢出的问题。 Erlang就是支持这种机制的。<br><br>
<img src ="http://www.cnitblog.com/thinke365/aggbug/60898.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/thinke365/" target="_blank">Monicax</a> 2009-08-21 01:43 <a href="http://www.cnitblog.com/thinke365/articles/60898.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JS基础1_eval_apply_call</title><link>http://www.cnitblog.com/thinke365/articles/60894.html</link><dc:creator>Monicax</dc:creator><author>Monicax</author><pubDate>Thu, 20 Aug 2009 12:56:00 GMT</pubDate><guid>http://www.cnitblog.com/thinke365/articles/60894.html</guid><wfw:comment>http://www.cnitblog.com/thinke365/comments/60894.html</wfw:comment><comments>http://www.cnitblog.com/thinke365/articles/60894.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/thinke365/comments/commentRss/60894.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/thinke365/services/trackbacks/60894.html</trackback:ping><description><![CDATA[<span style="FONT-SIZE: 8pt; COLOR: #0000ff">eval可以把字符串当成语句来执行</span>。<br><br>写在按钮中的函数:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var textValue = textfield1_win.getValue();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (textValue == '') {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;textValue = 'no Value';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp; var funcString = 'alert(\'' + textValue + '\')';&nbsp; // 前面可以加var，也可以不使用var, 如果有全局变量，而又没有使用var,则会使用全局的funcString，<span style="FONT-SIZE: 10pt; COLOR: #808000">如果没有全局变量funcString,即使没有var,也会自动创建 funcString变量，作用域，为这个括号之内。&nbsp; 变量的生命周期如何维护的</span>?&nbsp; ：<span style="FONT-SIZE: 10pt; COLOR: #800080">先查找全局变量表，看是否有这个变量，如果有，直接使用全局变量？</span>，如果没有，则创建新对象，并声明这个对象为局部变量? 或者根本不用声明，函数调用好之后，直接释放这个变量。 <span style="FONT-SIZE: 10pt; COLOR: #339966">连函数调用的栈都被释放了，哪里来的变量，呵呵</span><br>&nbsp;&nbsp;&nbsp; eval(funcString);<br>&nbsp;&nbsp;&nbsp; <br>允许eval使用<span style="FONT-SIZE: 10pt; COLOR: red"><strong>全局闭包</strong></span>并不是一个好主意。因为<span style="COLOR: #0000ff">从函数闭包的概念来说，不应当让eval()对函数之外产生副作用</span>。<br><br>代码总是要运行在一定的闭包之中的。有两类闭包，分别是<span style="FONT-SIZE: 10pt; COLOR: red"><strong>全局闭包</strong></span>和<span style="FONT-SIZE: 10pt; COLOR: red"><strong>函数闭包</strong></span>。<br><br><span style="FONT-SIZE: 10pt; COLOR: #0000ff">写一个面板，把和JS相关的操作通过按钮集中到一块儿</span>。<br>这些代码最好是分割到几个不同的js脚本中间，这样比较容易管理。<br><br>
<img src ="http://www.cnitblog.com/thinke365/aggbug/60894.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/thinke365/" target="_blank">Monicax</a> 2009-08-20 20:56 <a href="http://www.cnitblog.com/thinke365/articles/60894.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ext鸟瞰</title><link>http://www.cnitblog.com/thinke365/articles/60864.html</link><dc:creator>Monicax</dc:creator><author>Monicax</author><pubDate>Tue, 18 Aug 2009 18:22:00 GMT</pubDate><guid>http://www.cnitblog.com/thinke365/articles/60864.html</guid><wfw:comment>http://www.cnitblog.com/thinke365/comments/60864.html</wfw:comment><comments>http://www.cnitblog.com/thinke365/articles/60864.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/thinke365/comments/commentRss/60864.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/thinke365/services/trackbacks/60864.html</trackback:ping><description><![CDATA[<span style="FONT-SIZE: 10pt">ComboBox居然支持分页，真是长眼了</span><br>
<img src ="http://www.cnitblog.com/thinke365/aggbug/60864.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/thinke365/" target="_blank">Monicax</a> 2009-08-19 02:22 <a href="http://www.cnitblog.com/thinke365/articles/60864.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JS原型继承</title><link>http://www.cnitblog.com/thinke365/articles/60826.html</link><dc:creator>Monicax</dc:creator><author>Monicax</author><pubDate>Sun, 16 Aug 2009 12:47:00 GMT</pubDate><guid>http://www.cnitblog.com/thinke365/articles/60826.html</guid><wfw:comment>http://www.cnitblog.com/thinke365/comments/60826.html</wfw:comment><comments>http://www.cnitblog.com/thinke365/articles/60826.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/thinke365/comments/commentRss/60826.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/thinke365/services/trackbacks/60826.html</trackback:ping><description><![CDATA[<p>对象系统有三种实现方式：<br>1、基于类(class-based)<br>2、基于原型(<span style="COLOR: #0000ff">prototype-based</span>)<br>3、基于元类(<span style="COLOR: #0000ff">metaclass-based</span>)</p>
<span style="FONT-SIZE: 10pt; COLOR: #339966"><strong>后两种并不是很熟悉哦，ruby是基于元类的实现吗</strong></span>?<br><span style="FONT-SIZE: 8pt; COLOR: red"><strong>原型继承是JavaScript最重要的语言特性之一</strong></span>。<br><br>JS没有类的概念，<span style="BACKGROUND-COLOR: yellow">它使用构造器机制实现类的某些功用</span>。<br><br>原型继承是 JS <span style="COLOR: red"><strong>对象系统</strong></span>中最关键的元素。<span style="FONT-SIZE: 10pt; COLOR: #3366ff">以后如果有机会深入探究，各种 对象系统，其实现应该都是有相通之处的吧</span>。<br><br>对象的继承机制中，用到了 原型链。<span style="FONT-SIZE: 10pt; COLOR: #008000">查找对象元素，可能要用到回溯</span>。<br>SpiderMonkey还实现了复杂的对象成员性质管理，即可见性，公有、私有等属性的管理。(这个真的很复杂吗?)<br>一个对象重写了父类的对象后，这个方法就标记为可delete了，同时在对象的属性列表中会保存父类中该成员的信息，<span style="FONT-SIZE: 10pt; COLOR: #008000">如果删除子类中该属性之后， 将重新使用父类的值与性质</span>。<br><br>刚才编辑的东西怎么没有了? 每次发布之前，要先保存下才稳妥啊。。。<br><br>ExtJS对JavaScript几个基本类的扩展都写在Ext.js里面了。<br>如下是对Function对象的扩展：<br>Ext.apply(Function.prototype,{<br>&nbsp;&nbsp;&nbsp; createCallback : function(){...},<br>&nbsp;&nbsp;&nbsp; createDelegate : function(<span style="COLOR: #0000ff">obj, args, appendArgs</span>){...},<br>&nbsp;&nbsp;&nbsp; defer : function(<span style="COLOR: #0000ff">millis, obj, args, appendArgs</span>){...},<br>&nbsp;&nbsp;&nbsp; createSequence : function(<span style="COLOR: #0000ff">fcn, scope</span>){...},<br>&nbsp;&nbsp;&nbsp; createInterceptor : function(<span style="COLOR: #0000ff">fcn, scope</span>){...}<br>});&nbsp; // 扩展Function类的原型后，所有的函数都具有 扩展的属性了?&nbsp; Ext.apply在Ext Element中已经引用到，不过有个default参数，可以把配置对象里的所有属性拷贝到 目标对象中。 <span style="FONT-SIZE: 10pt; COLOR: #0000ff">不过 直接的 Ext.apply有定义吗?或者 JavaScript本身便支持这种语法</span>?<br><br>Ext.js中有一个很长的语句， (function(){.... // 这里面定义了很多东西，大约有700多行})，<span style="FONT-SIZE: 10pt; COLOR: red">最外面的是强制执行标识吗?这个可以测试下的</span>。<br>
<img src ="http://www.cnitblog.com/thinke365/aggbug/60826.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/thinke365/" target="_blank">Monicax</a> 2009-08-16 20:47 <a href="http://www.cnitblog.com/thinke365/articles/60826.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ext的JS扩展</title><link>http://www.cnitblog.com/thinke365/articles/60812.html</link><dc:creator>Monicax</dc:creator><author>Monicax</author><pubDate>Sat, 15 Aug 2009 14:27:00 GMT</pubDate><guid>http://www.cnitblog.com/thinke365/articles/60812.html</guid><wfw:comment>http://www.cnitblog.com/thinke365/comments/60812.html</wfw:comment><comments>http://www.cnitblog.com/thinke365/articles/60812.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/thinke365/comments/commentRss/60812.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/thinke365/services/trackbacks/60812.html</trackback:ping><description><![CDATA[Ext对JavaScript的几个基本类进行了扩展。<br>它们是 Function, String, Array, Date和<span style="COLOR: #0000ff">Number</span>.<br><br>Function加入了<span style="COLOR: #ff0000">回调</span>、拦截和代理机制等。<br>为什么要加入这些机制呢，使用起来的时候方便些吗?<br><br>createCallback()，可以 为原来的函数创建 回调函数。<br>把参数传进去。 <br>var sayHello = function(name) {...}<br>一些 handler函数，必须是无参 函数吗? 使用 sayHello.createCallback('jack')，就会创建一个新的函数对象。这个对象的定义形式应该是：<br>function() {<br>&nbsp;&nbsp;&nbsp; sayHello('jack');<br>}&nbsp; // 就是这种所谓的回调机制吗?<br>(<span style="FONT-SIZE: 10pt; COLOR: #0000ff">没有传参数的话，把函数引用放到 handler 后面就可以了。 如果要传参数，在handler后直接放func(args)，则解析后函数会马上调用，而不是事件触发时才调用的回调函数了。</span>。。。 <span style="FONT-SIZE: 10pt; COLOR: #ff0000">所以如果传参一定要用createCallback()方法， 为什么一定要如此,JS语法的局限性?</span>) <br><br>&nbsp;&nbsp;&nbsp; createCallback : function(/*args...*/){&nbsp;&nbsp; // createCallback函数也开始变得容易理解了。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // make args available, in function below<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var args = arguments;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var method = this;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;<span style="FONT-SIZE: 12pt; COLOR: red">Ext中，已经对Function进行扩展，所以所有的函数对象都可以使用 createCallback()方法创建回调函数?<br></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return function() {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 最后返回的确实是一个函数对象。<span style="FONT-SIZE: 10pt; COLOR: red">只不过把参数绑定到 被回调的函数了</span>。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return method.apply(window, args);&nbsp;&nbsp;&nbsp; //&nbsp; <span style="COLOR: #993366"><strong style="FONT-SIZE: 10pt">为什么限定 的范围是window，window貌似在JS起很重要的作用，在多个地方看到了。 href转向的时候也要用到这个的。&nbsp; 还有JS本身的apply机制，这些底层机制都是有必要了解的。<br></strong></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };<br>&nbsp;&nbsp;&nbsp; }<br><br>对这几个类的扩展，完全在Ext.js这个文件中体现出来了。对 Function的扩展结构如下所示：<br>Ext.apply(Function.prototype, {<br>&nbsp;&nbsp;&nbsp; createCallback: function() { ...},<br>&nbsp;&nbsp;&nbsp; createDelegate: function(<span style="COLOR: #3366ff">obj, args, appendArgs</span>) { ...},<br>&nbsp;&nbsp;&nbsp; defer: function(<span style="COLOR: #3366ff">millis, obj, args, appendArgs</span>) {...},<br>&nbsp;&nbsp;&nbsp; createSequence: function(<span style="COLOR: #3366ff">fcn, scope</span>) {...},<br>&nbsp;&nbsp;&nbsp; createInterceptor: function(<span style="COLOR: #3366ff">fcn, scope</span>) {...}<br>})&nbsp; // 很多加入的函数也是有参数的。 Ext.apply在 这里就是把 函数加到 Function的原型中去吗?&nbsp; <span style="FONT-SIZE: 10pt; COLOR: #3366ff">这样所有 函数都具备了以下的几个扩展方法</span>?<br><span style="FONT-SIZE: 10pt; COLOR: #0000ff">Ext.apply和 JavaScript本身的apply有什么关系</span>?<br><br>&nbsp;(function() {<br>&nbsp;&nbsp;alert('immediate');<br>&nbsp;})();&nbsp; // <span style="FONT-SIZE: 10pt"><strong style="COLOR: #993366">这种代码风格是强制执行用的? Ext.js中，就把一些扩展代码写在这种代码段中。原以为只要把函数包在()中就可以，居然还要在末尾加上()</strong><br><br>Ext.apply(Ext, { ... }) // Ext扩展，<span style="FONT-SIZE: 10pt; COLOR: red">可以直接用 { ... }声明一个很大的对象，来扩展Ext?</span>&nbsp; apply 三个参数的函数Ext.js里面有定义，<span style="FONT-SIZE: 8pt; COLOR: #0000ff">两个参数的没有见到</span>。<br><br></span>
<img src ="http://www.cnitblog.com/thinke365/aggbug/60812.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/thinke365/" target="_blank">Monicax</a> 2009-08-15 22:27 <a href="http://www.cnitblog.com/thinke365/articles/60812.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Javascript基础</title><link>http://www.cnitblog.com/thinke365/articles/60792.html</link><dc:creator>Monicax</dc:creator><author>Monicax</author><pubDate>Thu, 13 Aug 2009 14:38:00 GMT</pubDate><guid>http://www.cnitblog.com/thinke365/articles/60792.html</guid><wfw:comment>http://www.cnitblog.com/thinke365/comments/60792.html</wfw:comment><comments>http://www.cnitblog.com/thinke365/articles/60792.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/thinke365/comments/commentRss/60792.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/thinke365/services/trackbacks/60792.html</trackback:ping><description><![CDATA[navigator.userAgent.toLowerCase()可以显示浏览器的具体信息：在IE 7中打开，<span style="FONT-SIZE: 10pt; COLOR: red">显示的具体信息如下</span>：<br><span style="FONT-SIZE: 10pt; COLOR: #0000ff">mozilla/4.0 (compatible: msie 7.0; windows nt 5.1; .net clr 1.1.4322; .net clr 2.0.50727; ciba; infopath.2</span>)<br><br>Ext.js中有一段代码就是用来判断浏览器类型的。实际上是通过字符串匹配来完成的。<br><br><span style="COLOR: red">window.location.href</span>.indexof('https')用来判定当前访问网址是否是安全链接。<br><br>可以直接声明一堆的变量，声明的形式如下：<br>var x=..., y=..., z=...; 看起来和C没有什么区别。<br><br><span style="FONT-SIZE: 10pt; COLOR: #3366ff">如果是IE或者IE7，取消CSS的图片闪烁功能?</span><br>document.execCommand("BackgroundImageCache", false, true);<br><br>Ext.js中，出现了一段莫名其妙的代码:<br>(function() {<br>&nbsp;...&nbsp; 有将近700行代码。 <span style="FONT-SIZE: 12pt; COLOR: #0000ff">这个代码如何引用呢?<br></span>})<br><br>
<img src ="http://www.cnitblog.com/thinke365/aggbug/60792.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/thinke365/" target="_blank">Monicax</a> 2009-08-13 22:38 <a href="http://www.cnitblog.com/thinke365/articles/60792.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ext Element</title><link>http://www.cnitblog.com/thinke365/articles/60788.html</link><dc:creator>Monicax</dc:creator><author>Monicax</author><pubDate>Thu, 13 Aug 2009 12:49:00 GMT</pubDate><guid>http://www.cnitblog.com/thinke365/articles/60788.html</guid><wfw:comment>http://www.cnitblog.com/thinke365/comments/60788.html</wfw:comment><comments>http://www.cnitblog.com/thinke365/articles/60788.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/thinke365/comments/commentRss/60788.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/thinke365/services/trackbacks/60788.html</trackback:ping><description><![CDATA[Element是Ext的核心。是整个Ext API的底层。<br><span style="FONT-SIZE: 10pt; COLOR: red">Element中的方法直接涉及 JavaScript的document.getElementById()操作</span>。<br>Element有Cache机制，对于访问过的对象，它可以直接返回DOM对象。 <br><br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id=Codehighlighter1_56_133_Open_Image style="DISPLAY: inline" onclick="this.style.display='none'; Codehighlighter1_56_133_Open_Text.style.display='none'; Codehighlighter1_56_133_Closed_Image.style.display='inline'; Codehighlighter1_56_133_Closed_Text.style.display='inline';" src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_56_133_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_56_133_Closed_Text.style.display='none'; Codehighlighter1_56_133_Open_Image.style.display='inline'; Codehighlighter1_56_133_Open_Text.style.display='inline';" src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(forceNew&nbsp;</span><span style="COLOR: #000000">!==</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">&nbsp;id&nbsp;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">&nbsp;Ext.Element.cache[id])</span><span id=Codehighlighter1_56_133_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnitblog.com/Images/dot.gif"></span><span id=Codehighlighter1_56_133_Open_Text style="DISPLAY: inline"><span style="COLOR: #000000">{&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;element&nbsp;object&nbsp;already&nbsp;exists</span><span style="COLOR: #008000"><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;Ext.Element.cache[id];<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></div>
只有当存在id，且没有设置一定要 创建新对象，同时缓存中有这个对象时，才直接返回缓存中的对象。<br><span style="FONT-SIZE: 10pt; COLOR: #0000ff">这里的缓存即 Ext.Element.cache对象?&nbsp; 这是一种哈希机制吗</span>?<br>Ext.apply = function(o, c, defaults){<br>&nbsp;&nbsp;&nbsp; if(defaults){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // no "this" reference for friendly out of scope calls<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.apply(o, defaults); // 这个函数哪里定义的?<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; if(o &amp;&amp; c &amp;&amp; typeof c == 'object'){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(var p in c){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; o[p] = c[p];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; return o;<br>};&nbsp; // 这个是Ext.js中的代码，是用于扩展一个对象的吧。。。<br><span style="FONT-SIZE: 8pt; COLOR: #0000ff">可以把 配置对象的所有 属性 拷贝到 目标对象中</span>。<br><br>Ext刚开始居然只有一个属性，牛的：<br>Ext = {version: '2.2.1'};<br><br>
<img src ="http://www.cnitblog.com/thinke365/aggbug/60788.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/thinke365/" target="_blank">Monicax</a> 2009-08-13 20:49 <a href="http://www.cnitblog.com/thinke365/articles/60788.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ext思考</title><link>http://www.cnitblog.com/thinke365/articles/60772.html</link><dc:creator>Monicax</dc:creator><author>Monicax</author><pubDate>Wed, 12 Aug 2009 18:15:00 GMT</pubDate><guid>http://www.cnitblog.com/thinke365/articles/60772.html</guid><wfw:comment>http://www.cnitblog.com/thinke365/comments/60772.html</wfw:comment><comments>http://www.cnitblog.com/thinke365/articles/60772.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/thinke365/comments/commentRss/60772.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/thinke365/services/trackbacks/60772.html</trackback:ping><description><![CDATA[纯粹是研究是没有出路的：1、没有时间。2、没有真正的驱动力。现实需求是最好的驱动力。记录一些问题。之后可以去探究。<br><br>1、TextField中的reset和this.setValue("")有区别吗? 可以看源代码。<br>
<img src ="http://www.cnitblog.com/thinke365/aggbug/60772.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/thinke365/" target="_blank">Monicax</a> 2009-08-13 02:15 <a href="http://www.cnitblog.com/thinke365/articles/60772.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ext实践</title><link>http://www.cnitblog.com/thinke365/articles/60771.html</link><dc:creator>Monicax</dc:creator><author>Monicax</author><pubDate>Wed, 12 Aug 2009 18:12:00 GMT</pubDate><guid>http://www.cnitblog.com/thinke365/articles/60771.html</guid><wfw:comment>http://www.cnitblog.com/thinke365/comments/60771.html</wfw:comment><comments>http://www.cnitblog.com/thinke365/articles/60771.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/thinke365/comments/commentRss/60771.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/thinke365/services/trackbacks/60771.html</trackback:ping><description><![CDATA[<p>方案A:<br>1、所谓id，是最后生成Ext代码中，对象的名称，而不是Ext对象中所谓的id.重名就会导致对象重复，若定义在同一个定义域中，JS应该是会报错的。<br></p>
<img src ="http://www.cnitblog.com/thinke365/aggbug/60771.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/thinke365/" target="_blank">Monicax</a> 2009-08-13 02:12 <a href="http://www.cnitblog.com/thinke365/articles/60771.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ext正则表达式</title><link>http://www.cnitblog.com/thinke365/articles/60767.html</link><dc:creator>Monicax</dc:creator><author>Monicax</author><pubDate>Wed, 12 Aug 2009 14:51:00 GMT</pubDate><guid>http://www.cnitblog.com/thinke365/articles/60767.html</guid><wfw:comment>http://www.cnitblog.com/thinke365/comments/60767.html</wfw:comment><comments>http://www.cnitblog.com/thinke365/articles/60767.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/thinke365/comments/commentRss/60767.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/thinke365/services/trackbacks/60767.html</trackback:ping><description><![CDATA[.replace(/(^\s+) | (\s+$)/g,"") 用于消除字符串开头和结尾的空格。必须加/g选项，用于贪婪匹配，而不会在第一次匹配后，就结束。<br>这里会匹配 开头的所有空格， 而不只是第一个 空格。<br><br>
<img src ="http://www.cnitblog.com/thinke365/aggbug/60767.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/thinke365/" target="_blank">Monicax</a> 2009-08-12 22:51 <a href="http://www.cnitblog.com/thinke365/articles/60767.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ext入门1</title><link>http://www.cnitblog.com/thinke365/articles/60765.html</link><dc:creator>Monicax</dc:creator><author>Monicax</author><pubDate>Wed, 12 Aug 2009 13:48:00 GMT</pubDate><guid>http://www.cnitblog.com/thinke365/articles/60765.html</guid><wfw:comment>http://www.cnitblog.com/thinke365/comments/60765.html</wfw:comment><comments>http://www.cnitblog.com/thinke365/articles/60765.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnitblog.com/thinke365/comments/commentRss/60765.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/thinke365/services/trackbacks/60765.html</trackback:ping><description><![CDATA[<p _fckxhtmljob="8">博客对我而言，第一个是速度， 第二点才是功能。<br>速度不行。 思路就无法正常发挥，短短续续， 十分难受。<br><br>直接在HTML中调用JS代码。</p>
<p _fckxhtmljob="8">这里使用的组件是ComboBox。末尾的一句话最为关键：</p>
<p _fckxhtmljob="8">combox.render("hello");&nbsp; <font color=#ff9900 _fckxhtmljob="8"><strong _fckxhtmljob="8">这里的hello是一个div标签</strong></font>。在HTML中的描述为：&lt;div id="hello"&gt;&lt;/div&gt;</p>
<p _fckxhtmljob="8"><font color=#ff0000 _fckxhtmljob="8"><strong _fckxhtmljob="8">对div标签，是还有必要深入的</strong></font>。<br>TextField使用keyup事件，必须开启enableKeyEvents</p>
<br>也可以调用 hide()操作，调用之后，文本框就自动隐藏了。<br><br><span style="COLOR: red">window组件必须要设置applyTo属性?</span>表示 window所对应的 div标签：<br>如applyTo:'L_window'， 直接使用render(...)不能生效?<br>window的layout 属性，如果设置为 fit，则 会用背景色 对窗口进行填充?<br>layout设置为border， 页面居然报错，现实 异常被抛出，且 未能被接住。<br><br>设置了modal属性之后，本window就强制放在最前端，不能激活后面的窗口，除非先关闭当前窗口。 这些是怎么做到的?实现机制如何?和MFC中的窗口机制有类似之处啊。。。<br>设置了resizable为false, maximizable为true之后， 窗口的大小不可以随意拖动改变。 但是 可以最大化。<br><br><span style="FONT-SIZE: 8pt; COLOR: #0000ff">所有这一切都是通过 往 div进行操作来完成的吗? div中可以放HTML，而这一切在JS引擎的控制及协调下完成?</span><br><br>Button, Window都直接放在Ext 命名空间下，从结构上就可以看出， <span style="FONT-SIZE: 8pt; COLOR: red">Ext是一个 UI 层的框架</span>。<br><br>Ext.Msg.alert 有两个参数，如果显示看起来很怪异，<span style="FONT-SIZE: 8pt; COLOR: #3366ff">很可能是因为只设置了一个参数， 一个标题过长，所导致的结果</span>。<br><br><strong>iconCls</strong> ，是一个CSS类，可用于 修饰 按钮，或者其他东西<br><br><span style="FONT-SIZE: 8pt; COLOR: red">两个Ext.Msg.alert 跳出来，后一个会覆盖前一个</span>。。。<br><br><span style="COLOR: red">为了加速 网络传输， JSON的传输可以使用 HTTP压缩。这个怎么搞?<br>JS解析采用 了 DOM，对DOM还是需要深入的。 解析 JSON比解析 XML要轻量级吧? 还有更轻量级的 自定义格式???<br><br><span style="COLOR: #000000">在Ext的某个窗口按钮中，打开窗口，关闭，又打开，怎么会报错的?<br></span><span style="FONT-SIZE: 8pt">具体报错信息是：this.west.el 为空或不是对象</span><br><br>多级Window，最上层使用的renderTo和 下层窗口的renderTo使用同一层的 div，点击后， 滚动栏有变化，却看不到最上层的窗口?<br><br><span style="COLOR: #000000">closable 是否允许窗口关闭的属性，默认值是true。</span> 对 默认值的规划也是一个 复杂问题。<br><br><span style="COLOR: #000080">cls为 组件 定制 CSS描述， 标准的 CSS规则是怎样的?<br></span><br>window layout里面有多种布局，设置不同，对显示影响很大。 </span>
<img src ="http://www.cnitblog.com/thinke365/aggbug/60765.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/thinke365/" target="_blank">Monicax</a> 2009-08-12 21:48 <a href="http://www.cnitblog.com/thinke365/articles/60765.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>