YUI中文文檔
根據網上別人的說明和綜合各方面資料,網上說的要么結構不是很清楚,要么不是很全,呵呵,借別人的輪子總結一下哈,不用造輪子了,我對YUI的文檔作一個總結,共同學習。.
打算從零開始學習YUI 。AJAX類庫那么多,為什么我要學習YUI呢?首先,因為YUI很強大;其次因為YUI是Yahoo! 的。雖然Yahoo!現在好像沒落了,但聽同事說了YUI的強大,抑制不住學習的興奮,今天就來學習一下!學習的東西很多,今天只是走馬觀花的看一個大概的說明,即每個控件有什么功能,具體怎么用就是后面的事情了。
Yahoo發表了一系列的Ajax設計模式. Yahoo的這些工具包是Yahoo在收購了多個Web2.0網站后推出的Ajax工具包,代碼的注釋也寫的很好,文檔也很豐富和詳盡。
YUI分為兩個大類,一個是Ajax組件,里面包括對底層javascript包裝后的幾個工具包,分別是connection,event, dom,animation,dnd.還包括一組高級的javascript控件,目前包括AutoComplete,Calendar, Container,Menu,Slider,TreeView.
另一類是幾個很有用的幾個CSS文件,一個是CSS Page Grids,用它可以很方便的布局你的網頁。另外兩個是Standard CSS Fonts和Standard CSS Reset,利用這兩個CSS可以對字體等在不同瀏覽器中獲得一致的效果.
一、YUI Utilities(Connection Manager)
Yahoo的javascript文件都有一個注釋的很好的,格式化很好的版本和一個去掉注釋和空格的版本,學習看源代碼當然用前者,而最后在網頁上使用的時候就可以選用后者。
Connection的引入:
<!-- Dependency -->
build/yahoo/yahoo-min.js
<!—可選項: 用到事件時引入 -->
build/event/event-min.js
build/connection/connection-min.js
1. Connection Manager
這個工具包用來管理XMLHttpRequest,通過這個工具包可以查詢正在執行的請求的狀態,可以注冊正確返回的回調函數,錯誤處理的回調函數,還可以根據提供的表單Id方便的收集和發送表單字段。下面給出的代碼是基本調用形式
var callback =
{
success: function(res) {/*success handler code*/}, //正常返回處理函數
failure: function(res) {/*failure handler code*/}, //出錯返回處理函數
argument: [argument1, argument2, argument3] //可以在success函數和failure函數中訪問的變量
}
var transaction = YAHOO.util.Connect.asyncRequest(’GET’, sUrl, callback, null);
說明:
1、第一個參數:指明http請求的方式,可用的方式包括GET、POST、HEAD、PUT、DELETE,但PUT和DELETE可能在一些A級瀏覽器上不支持。
第二個參數:請求的URL
第三個參數:回調函數,用于服務器返回數據時調用的客戶端處理程序
第四個參數:POST方式時,提供給URL的POST參數信息。
定義回調函數
2、在異步事物中,可以創建回調函數處理服務器的響應和相關數據,如果你不關心服務器的返回信息,也可以忽略這些回調函數,所有這些回調函數對象都是可選的,然而在大多數情況下,應該至少提供以下三個回調函數:
success:服務器做出有效響應時的回調函數
failure:服務器響應了但提供了錯誤信息時的回調函數
argument:success和failure為了處理返回信息需要的參數,可以是對象、字符串、數字或者包含了數據的數組。
3、下面的表給出的是通過正確返回時res參數可以獲得的屬性值。
屬性名 描述
tId 該Http請求的事務表示
status 返回的Http狀態碼
statusText 對應狀態碼的字符串表示
getResponseHeader[label] 返回label名稱標識的Http頭的值
getAllResponseHeader 所有的Http頭的字符串表示,用”"n”分隔
responseText 返回內容的字符串表示
responseXML 返回內容的XML表示
argument 回調函數中傳入的變量
錯誤返回時可以通過res返回的屬性
屬性名 描述
tId 該Http請求的事務表示
status 0
statusText “communication failure”
argument 回調函數中傳入的變量
4、在使用YAHOO.util.Connect.setForm上載文件時,需要定義upload回調函數代替success和failure
5、在回調函數中this將失去作用范圍,這種情況下需要通過一個指向父對象的引用的數來訪問對象的成員。為了能夠使用對象的方法作為回調函數,并維持成員的作用范圍,需要定義回調函數對象的成員scope,作為this的值。
6、如果想發送的是表單數據,那么使用下面的代碼就可以了:
YAHOO.util.Connect.setForm(formId);
var cObj = YAHOO.util.Connect.asyncRequest(’POST’, ‘http://www.yahoo.com’, callback);
查看請求是否已經處理完
var cObj = YAHOO.util.Connect.asyncRequest(’GET’,''http://www.yahoo.com’,callback);
var callStatus = YAHOO.util.Connect.isCallInProgress(cObj);
超時取消請求
var cObj = YAHOO.util.Connect.asyncRequest(’GET’, sUrl, callback);
setTimeout(”YAHOO.util.Connect.abort(cObj)”,10000);
二、YUI Utilities(Event)
<!-- Dependency -->
build/yahoo/yahoo-min.js
<!-- Event source file -->
build/event/event-min.js
Event和Custom Event分別定義在YAHOO.util.Event和YAHOO.util.CustomEvent中
使用Event工具包可以簡化瀏覽器端的事件驅動程序的開發,通過使用簡單的接口可以訂制響應DOM事件的代碼,同時獲得瀏覽器Event對象的各種屬性也很方便。通過Event工具包我們還可以訂制自己的事件,這樣頁面組件可以接收這些事件并做出響應。
Event工具集提供的方法
YAHOO.util.Event.addListener(element,eventType,fn,obj,override)
參數:
element:為綁定事件的元素id,可以是一個數組,以支持批量操作
eventType:為事件類型
fn:為事件響應的回調函數
obj:當override為true時,為回調函數傳入的參數對象;當override為false時,該參數被忽略。
override:
返回值類型:Boolean
功能:給指定的element綁定事件響應函數
YAHOO.util.Event.removeListener:function(element,eventType,fn)
參數:
element:為綁定事件的元素id,
eventType:事件類型
fn:為事件響應函數
返回值類型:Boolean
功能:給指定的element解除綁定事件
YAHOO.util.Event.purgeElement ( el , recurse , sType )
參數:
el:為綁定事件的元素id,
recurse:Boolean值,是否解除子節點的事件綁定
sType:事件類型
返回值類型:Boolean
功能:給指定的element解除綁定的同一類型的事件,也可以解除子節點上綁定的這一類型的事件
YAHOO.util.on
addListener的函數別名
YAHOO.util.Event.onAvailable ( p_id , p_fn , p_obj , p_override )
參數:
p_id:為綁定事件的元素id,
p_fn:為事件響應函數
p_obj:同addListener的obj參數
p_override:同addListener的override參數
返回值類型:無
功能:當指定的element的p_id出現時,執行事件響應函數。如果在頁面初始化之前執行這一函數,當頁面加載時(可能還未完成時),就會執行響應的事件響應函數;如果放在頁面加載之后執行這一函數,將以固定的時間輪詢,當element可用時響應這一事件。這個輪詢的的時間是可以配置的,缺省的時間是10秒一次。
YAHOO.util.Event.onContentReady ( p_id , p_fn , p_obj , p_override )
參數:
p_id:為綁定事件的元素id,
p_fn:為事件響應函數
p_obj:同addListener的obj參數
p_override:同addListener的override參數
返回值類型:無
功能:與onAvailable類似,但不同的是事件響應函數是等到element可以安全的修改的時候才響應。
YAHOO.util.Event.onDOMReady ( p_fn , p_obj , p_scope )
參數:
p_fn:為事件響應函數
p_obj:同addListener的obj參數
p_scope:同addListener的override參數
返回值類型:無
功能:當DOM第一次可用時執行響應函數。
YAHOO.util.Event.preventDefault ( event)
參數:
event:事件對象
返回值類型:無
功能:阻止事件的缺省行為發生。
YAHOO.util.Event.getListeners ( el , sType )
參數:
el:HTML element
sType:事件類型,String類型
返回值類型:Object{
type:事件類型
fn:addListener添加的事件響應函數
obj:提供給事件響應函數的參數對象
adjust:否獲取缺省的事件監聽器
index:UI事件監聽器列表中的位置
}
功能:阻止事件的缺省行為發生。
YAHOO.util.Event.getTime( event)
參數:
event:事件對象
返回值類型:Date對象
功能:獲取事件發生時的時間。
YAHOO.util.Event.getTarget(ev , resolveTextNode)
參數:
evt:事件對象
resolveTextNode:
返回值類型: HTML element
功能:獲取事件發生時的頁面標簽。對于IE即window.event.srcElement
基本的事件代碼
var oElement = document.getElementById(”elementid”);//獲得事件源
function fnCallback(e) { alert(”click”); }//定義回調函數
YAHOO.util.Event.addListener(oElement, “click”, fnCallback);//注冊回調函數,當oElement的click事件發生的時候,fnCallback函數將被調用。
//或者更簡單的直接傳遞Id YAHOO.util.Event.addListener(”elementid”, “click”, fnCallback);
注冊響應多個頁面元素的事件
var ids = [”el1〃, “el2〃, “el3〃];//該數組中可以包括元素ID,元素的引用,或者兩者混合的情況。
function fnCallback(e) { alert(this.id); }
YAHOO.util.Event.addListener(ids, “click”, fnCallback);
Yui的Event包解決了一些比較實際的問題,第一頁面元素通常在Javacript注冊事件代碼后載入,這個時候Yui會正確延遲注冊,直到指定Id的元素可以訪問。第二微軟的IE瀏覽器在事件處理函數中的this指向的是Window對象,而不是發生事件的那個元素,YUI也會正確的傳遞事件發生的源元素。第三可以把任意的對象傳遞給事件處理函數。
創建和使用自定義的事件
1.使用CustomerEvent對象創建自己的事件
function TestObj(name) {
this.name = name;
this.event1 = new YAHOO.util.CustomEvent(”event1〃, this);
}
YAHOO.util.CustomEvent = function(type, oScope);
type表示事件類型的字符串
2。注冊對自定義事件的響應函數
function Consumer(name, testObj) {
this.name = name;
this.testObj = testObj;
this.testObj.event1.subscribe(this.onEvent1, this);
}
3。響應函數
Consumer.prototype.onEvent1 = function(type, args, me) {
alert(” this: ” + this +
“"n this.name: ” + this.name +
“"n type: ” + type +
“"n args[0].data: ” + args[0].data +
“"n me.name: ” + me.name);
}
4。觸發自定義事件
function TestData(data) {
this.data = data;
}
var t1 = new TestObj(”mytestobj1〃);
var c1 = new Consumer(”mytestconsumer1〃, t1);
var d1 = new TestData(”mydata1〃);
t1.event1.fire(d1);
三、YUI(Dom Collection)
YUI的dom工具包屏蔽了各種瀏覽器的差別,使用dom工具包可以方便的的操作頁面元素,包括控制元素的坐標,以及改變元素的CSS風格。
1、Element的查找
YAHOO.util.Dom.get(element)
調用document.getElementById(element),獲取指定的頁面元素。
YAHOO.util.Dom.getElementsBy(method,tagName,rootNode)
在rootNode的子節點中按照用戶提供的method方法在所有標簽為tagName的element中查找符合條件的節點。rootNode不指定則在整個Document中查找,method是一個method(elementID)類型的函數對象,該函數對象的返回值為Boolean值。
YAHOO.util.Dom.getElementsByClassName(className, tagName, rootNode)
返回指定根節點下所有標簽為tagName,class為className的DOM節點數組。根節點為可選參數,不指定時在整個頁面中查找
YAHOO.util.Dom.inDocument (el)
判斷元素el是否在當前的DOM中,支持批量操作。
2、樣式控制和訪問
YAHOO.util.Dom.hasClass(element, className)
判斷element標簽上是否指明了className的class,支持批量操作
YAHOO.util.Dom.addClass(element, className)
給指定標簽增加名為className的class,支持批量操作.
YAHOO.util.Dom.removeClass(element, className)
刪除element上的名為className的class,支持批量操作
YAHOO.util.Dom.replaceClass(element, oldClassName, newClassName)
替換element上的oldClassName樣式為newClassName,支持批量操作
YAHOO.util.Dom.getStyle(element, property)
獲取element的style中的property屬性,支持批量操作
YAHOO.util.Dom.setStyle(element,property,pValue)
設置element的style的property屬性為pValue,支持批量操作
注:本節中的class指的是CSS中定義的class。
3、位置控制和訪問
位置控制的相關函數
YAHOO.util.Dom.setX
YAHOO.util.Dom.setY
YAHOO.util.Dom.setXY
YAHOO.util.Dom.getX
YAHOO.util.Dom.getXY 返回元素坐標 [ left,top ]
YAHOO.util.Dom.getRegion
獲取元素的坐標Region對象{left,top,right,bottom}
可支持批量操作
獲取頁面可視面積的高度和寬度
YAHOO.util.Dom.getClientWidth
YAHOO.util.Dom.getClientHeight
獲取Document的高度和寬度
YAHOO.util.Dom.getDocumentWidth
YAHOO.util.Dom.getDocumentHeight
獲取頁面可視區域的高度和寬度(不包含滾動條)
YAHOO.util.Dom.getViewportHeight
YAHOO.util.Dom.getViewportWidth
Region對象:{left,top,right,bottom}
YUI提供的一個對象,用于完成多個矩形區域間的計算(如相交,包含。
YAHOO.util.Region.contains(region)
判斷是否包含了region區域
YAHOO.util.Region.getArea
計算面積
YAHOO.util.Region.intersect(region)
計算與region區域的交迭區域
YAHOO.util.Region.union(region)
計算與region區域求并集(即包含兩個區域的最小區域)
Point對象:{x,y}
YUI提供的對象,用于定義坐標點。
例:
獲得和設置元素坐標
var pos = YAHOO.util.Dom.getXY(’test’);
YAHOO.util.Dom.setXY(’target’, pos);
設置元素的CSS屬性
YAHOO.util.Dom.setStyle([’test’, ‘test2′], ‘opacity’, 0.5);
var opacity = YAHOO.util.Dom.getStyle(’test2′, ‘opacity’);
獲得顯示當前文檔的窗口的大小。
var viewport = [
YAHOO.util.Dom.getViewportWidth(),
YAHOO.util.Dom.getViewportHeight()
];
獲取和設置與CSS相關的屬性
getElementByClassName(className,tagName,rootNode)
hasClass(element,className)
addClass(element,className)
removeClass(element,className)
replaceClass(element,oldClassName,newClassName)
四 YUI提供的CSS樣式
Fonts 字體的規范樣式,需要引入build/fonts/fonts-min.css
Rese 規范了所有HTML element的缺省樣式,需要引入build/fonts/reset-min.css
Grids 提供了用于頁面排版的CSS樣式,需要引入build/fonts/grids-min.css
五、YUI提供的element工具
YUI提供了一組操作頁面element的工具,是對標準HTML elements的一種封裝,能夠直接通操作element的實例,使得增加監聽器,操作DOM,設置/獲取element的屬性等工作變得很簡單。部分方法是直接調用YUI的DOM工具集提供的方法,如對class操作的相關方法、獲取element的相關方法等等,在此不再重復。
YAHOO.util.Element(elementId)
創建element,如果elementId在Document中還不存在,仍然可以通過YUI對他進行屬性設置,增加監聽器等操作, Element工具集會自動等到該elementId可用后執行這些操作,實際上真正的操作是等到contentReady事件發生后才進行的。
YAHOO.util.Element.appendChild(child)
在DOM結構中element下增加子節點
YAHOO.util.Element.getElementsByTagName (tag)
獲取tagName為tag的所有頁面元素
YAHOO.util.Element.hasChildNodes
判斷是否具有子節點
YAHOO.util.Element.insertBefore (element, before)
在元素before前插入element
YAHOO.util.Element.removeChild(child)
刪除DOM中元素的child子節點
YAHOO.util.Element.replaceChild (newNode , oldNode)
替換子節點oldNode為newNode
六、其它高級控件
1、Button
對象定義:YAHOO.widget.Button
與傳統HTML Form的按鈕類似,不同的是它的label可以與 value不一致。還可以創建帶菜單的按鈕,或者radio button、checkbox
分類:
可以創建幾種類型的按鈕:
button:普通的下壓式按鈕,可以在按鈕按下時執行用戶指定的代碼
link:按下時導航至相應的URL
submit:作用相當于form的提交按鈕
reset:form的reset按鈕
checkbox:
radio:
menubutton:按下時顯示隱藏按鈕
splitbutton:按下時執行命令或顯示菜單的按鈕
使用Button必需的引入:
<!-- CSS -->
build/fonts/fonts-min.css
build/button/assets/button.css
<!-- Dependencies -->
build/yahoo-dom-event/yahoo-dom-event.js
build/element/element-beta-min.js
<!—使用menubutton和splitbutton要用到的 -->
build/container/container_core-min.js
build/menu/menu-min.js
<!-- Source file -->
build/button/button-beta-min.js
初始化的方式:
1.使用替換<input>或<span>的方式
constructor:YAHOO.widget.Button(sourceElementId,{配置集})
Button的構造器首先根據sourceElementId 在DOM中查找<input>,一旦找到,就通過DOM的 replaceChild方法替換掉<input>
2.使用新建的方式
constructor:YAHOO.widget.Button({配置集})
這種情況下根據配置集中指明的父id(Container)創建按鈕,如果配置集中沒有指明按鈕則使用YAHOO.Dom.generateId生成button的ID,
Button的配置集
屬性名稱
|
含義
|
備注
|
id
|
替換后的新的element id
|
|
label
|
按鈕上顯示的文字
|
|
check
|
按鈕選中/未選中的狀態
|
checkbox用到
|
type
|
指明button的類型
|
缺省為button
|
container
|
按鈕的父id
|
使用新建方式時會用到
|
srcelement
|
使用替換方式時
|
|
menu
|
按鈕對應的菜單YAHOO.widget.menu
|
|
title
|
按鈕title
|
沒有指定label時使用title
|
href
|
按鈕導航URL
|
僅在按鈕類型為link時有效
|
target
|
<a>中的target
|
僅在按鈕類型為link時有效
|
tabindex
|
按tab切換焦點時的順序號
|
|
onclick
|
click事件的響應函數
|
onclick:{
fn: Function, // 事件的響應函數.
obj: Object, // An object to pass back to the handler.
scope: Object // The object to use for the scope of the handler.
} }
|
|
|
|
2、 ButtonGroup
對象定義:YAHOO.widget.ButtonGroup
ButtonGroup是一組按鈕,同組中只能有一個按鈕被選中。根節點為<div>
3、 AutoComplete
用戶在文本輸入框中輸入文字時,該組件通過輸入的內容查找符合輸入條件的內容,并顯示出所有符合條件的內容,供用戶能夠很快的完成正確的輸入。
AutoComplete的引入
<!-- 必須引入 -->
build/yahoo-dom-event/yahoo-dom-event.js
<!-- 可選: Connection(用到 XHR數據源時需要的引入) -->
build/connection/connection-min.js
<!--可選: 用到動畫效果時需要的引入 -->
build/animation/animation-min.js
<!-- Source file -->
build/autocomplete/autocomplete-min.js
控制AutoComplete的配置集
屬性名稱
|
含義
|
備注
|
animVert
|
控制下拉框向下展開的動畫效果
|
|
animHoriz
|
控制下拉框水平方向展開的動畫效果
|
|
animSpeed
|
控制動畫的速度
|
|
delimChar
|
一行顯示多條記錄時的分隔符,可以是字符串數組或字符串
|
|
maxResultsDisplayed
|
結果集的最大顯示行數
|
|
minQueryLength
|
進行查詢前的輸入的字符個數
|
|
queryDelay
|
用戶鍵入字符后多少秒開始查詢,默認0.5
|
|
autoHighlight
|
查詢出來的結果集顯示后,是否高亮顯示第一條,默認為true
|
|
highlightClassName
|
高亮顯示的樣式名,默認為yui-ac-highlight
|
|
prehightlightClassName
|
鼠標移動到下拉框的一行上時,那一行的樣式,默認為yui-ac-prehighlight
|
|
useShadow
|
下拉框是否有陰影
|
|
useIFrame
|
下拉框欠套在一個iframe中,用于解決IE中覆蓋<select>的問題
|
|
forceSelection
|
限制輸入內容必須為查詢結果中的內容,如果不是則輸入內容被刪除
|
|
typeAhead
|
是否自動根據查詢結果的第一條補齊到autocomplete中
|
|
allowBrowserAutocomplete
|
是否允許瀏覽器提供的輸入框記憶功能,默認為false
|
|
alwaysShowContainer
|
是否始終顯示查詢結果的下拉框,默認為false
|
|
AutoComplete的使用
1 自定義事件(CustomEvent)
AutoComplete除了默認的事件外,還有自定義的事件,以下為AutoComplete用到的各種CustomEvent
事件回調函數
|
含義
|
備注
|
textboxFocusEvent
|
輸入框獲得焦點的事件
|
textboxFocus
|
textboxKeyEvent
|
按鍵彈起時的事件
|
textboxKey
|
dataRequestEvent
|
發出數據查詢請求時的事件
|
dataRequest
|
dataReturnEvent
|
數據查詢請求返回時的事件
|
dataReturn
|
dataErrorEvent
|
返回結果為空時的事件
|
dataError
|
containerExpandEvent
|
展開下拉框時的事件
|
containerExpand
|
typeAheadEvent
|
符合條件的結果自動用到第一條記錄補齊時的事件
|
typeAhead
|
itemMouseOverEvent
|
鼠標移動到結果項上的事件
|
itemMouseOver
|
itemMouseOutEvent
|
鼠標移出結果項的事件
|
itemMouseOut
|
itemArrowToEvent
|
移動到某一選擇項時的事件
|
itemArrowTo
|
itemArrowFromEvent
|
移出某一選擇項時的事件
|
itemArrowFrom
|
itemSelectEvent
|
選中某一選擇項的事件
|
itemSelect
|
unmatchedItemSelectEvent
|
forceSelection為false時,如果輸入了不符合查詢結果的內容時觸發本事件。
|
unmatchedItemSelect
|
selectionEnforceEvent
|
強制從結果集中選擇輸入項時觸發的事件
|
selectionEnforce
|
containerCollapseEvent
|
下拉框收縮時的事件
|
containerCollapse
|
textboxBlurEvent
|
輸入框失去焦點時的事件
|
textboxBlur
|
可以根據需要重載自定義的事件
例:輸入框獲得焦點時自動進行查詢,可以重載textboxFocusEvent
myAutoComp.textboxFocusEvent.subscribe(
//發送一個查詢條件為空的查詢請求
function(){myAutoComp.sendQuery("");}
);
2 格式化下拉框的輸出
如果返回的結果集中有多個屬性,可以通過重載formatResult來格式化結果項的輸出
oAutoComp.formatResult = function(oResultItem, sQuery) {
var sMarkup = oResultItem[0] + " (" + oResultItem[1] + ")" ;
return (sMarkup);
}
3 AutoComplete的數據源
l DS_JSArray
data = ["AAA","BBB","BCC"];
var myDataSource = new YAHOO.widget.DS_JSArray(data);
可以通過DWR的方式調用java方法獲得一字符串數組作為查詢的下拉框,并在回調函數中可以直接使用,如:
l DS_JSFunction
l DS_XHR
對于JSArray方式取數時,AutoComplete可以自動根據輸入的內容查在JSArray中查找符合條件的結果項,但在使用XHR方式時,YUI并沒有提供默認的查找功能,必須由用戶通過控制URL參數方式來實現這一功能。
JSON方式:
使用JSON格式時,創建數據源YAHOO.widget.DS_XHR時第一個參數為請求的URL,第二個參數為一數組,這一數組的第一條記錄表示結果集在JSON對象的哪個對象屬性下,如類似于下面結構的JSON對象
{
Result:{
data:[ {username:”Tom”,oldname:”Tom”,age:12”},
{username:”Jack”,oldname:”Jack”,age:16”}
]
}
}
如果是要查詢username則結果集應該表示為”Result.data”,
第二條記錄為搜索的主鍵,同上面的例子中如果是要查找出符合條件的username,則第二個數組應為”username”,如果返回的結果集中還需要返回oldname屬性,則應該指名數組的第三條記錄”oldname”,后面還可以指定更多的需要返回的屬性。
因此第二個數組對象參數可以用以下方法表示:
[結果對象,搜索的主鍵,額外的返回屬性1,…額外的返回屬性N]
function initAutocomplete(){
var myDataSource1 = new YAHOO.widget.DS_XHR(
"./queryUsername.action",
["data","username"]);
myDataSource1.responseType = YAHOO.widget.DS_XHR.TYPE_JSON;
//myDataSource1.scriptQueryAppend = "output=json&results=100";
var oAutoComp = new YAHOO.widget.AutoComplete("user_username",
"usernameContainer", myDataSource1);
oAutoComp.dataRequestEvent.subscribe(
function(oSelf,sQuery){
myDataSource1.scriptQueryParam = "username";
});
}
XML方式:
應用方式與JSON方式類似,只是將reponseType指定為
myDataSource1.responseType = YAHOO.widget.DS_XHR.TYPE_XML
收集一下有關YUI的技術資料
英文:
Y! DN
學習YUI看這一個就夠了,因為上面的資料和示例非常齊全,以至于很少有人再針對YUI寫什么教程!
中文:
1. 臺灣YDN
現在只是漢化了一小部分內容,不過至少有個像樣點的中文站點
2.Yahoo! 使用者介面函示庫(YUI)
臺灣開發者寫得一篇介紹YUI的好文
3. TW YUI@無名小站
暫時資料不多,好像是臺灣 YUI 的blog
4. YAHOO工具庫
一些YUI API文檔的翻譯
相對于YDN上的那些英文資料,感覺中文資料實在是太少了,甚至都沒有一篇像樣的簡體中文資料!這讓我沒想到。以后我學習的時候盡量多寫點學習筆記好了,雖然可能很簡單,但于己可以加深印象,對和我一樣的初學者可能也有點用
posted on 2009-04-21 11:15
重慶理工小子 閱讀(10649)
評論(1) 編輯 收藏 所屬分類:
ajax編程