1)dojo.require通過XHR請求自動下載需要的文件。你不需要手動下載任何東西。如果你使用google CDN,所有的課程都應該從那裏下載,我建議你下載完整的軟件包到你的本地應用程序並從那裏使用它。稍後您可能需要創建一個Build。您還應該閱讀Starting with Dojo
2)像jQuery一樣強化dojo沒有任何意義。 dojo
只是最上面的命名空間,它下面有很多類,如dojo.Animation
,dojo.behavior
,dojo.Deferred
,dojo.NodeList
和很多其他類。有些功能如dojo.connect()
和dojo.style()
。
如果你想創建一個新的類看看dojo.declare。您還可以在dojo
「名稱空間」或其他名稱空間下創建新類。
如果要將一個新函數添加到dojo
名稱空間,只需鍵入dojo.new_function = function(){}
就像普通的JavaScript一樣。但我不會推薦。如果升級到更高版本的Dojo版本,可能會造成問題。
jQuery和Dojo完全不同。如果在jQuery中輸入類似$('.data')
的東西,它將獲取所有類爲「data」的dom節點,並返回jQuery
類中包裝的新對象。
在Dojo中,您使用dojo.query('.data')
獲得相同的效果。但它返回dojo.NodeList
類型的新對象。如果你想添加新的功能鏈能力,你需要擴展dojo.NodeList。
已經存在一些擴展名,如dojo.NodeList-fx
,它將動畫效果添加到dojo.NodeList
類。如果您使用dojo.require()
加載類,則您的dojo.Nodelist將自動擴展。查看Extend dojo.NodeList瞭解更多信息。
3)文檔相當不錯,你問的所有內容都已經記錄下來,我提供了一些你可以在Dojo主頁上找到的完整資源。不同之處在於Dojo是一個完整的工具包,包括GUI,佈局系統,Widgets,數據抽象以及其他很多高層次的東西。如果你從來沒有用過這樣的東西,可能很難從它開始,因爲它包含了很多東西。 jQuery不提供這樣的東西。所以有時候從它開始肯定會更容易。
有關文檔看看:
4)道場是使用命名空間3在JavaScript dojo
,dijit
和dojox
的工具包。 dojo
命名空間包含幾乎所有人都會用到的東西,比如像I18N,L10N的框架,dojo.data
或dojo.store
等模型抽象以及其他許多東西。
只是加載「dojo.js」文件的方式不給你dojo
提供的一切。
dijit
命名空間在Dojo中包含許多小部件。 dijit
命名空間中的所有小部件都具有完整的I10N和L10N支持。 dijit
包含對話框,佈局系統,窗口小部件,如日曆,按鈕,選擇字段,無線電字段,完整WYSIWYG Editor under dijit.Editor。
另請參閱Dijit Theme Editor以查看Dijit包含的內容。包括佈局在內的完整網站是基於dijit完成的。
dojox
命名空間包含許多不適合dijit
或實驗的額外功能。但並非一切都是實驗性的。您可以找到諸如dojox.grid.DataGrid或dojox.charting
(Start Charting,Advanced Charting)或諸如dojox.gfx之類的系統來創建使用SVG,Canvas,VRML,Silverlight或Flash的跨瀏覽器圖形。
只需查看Beyond Dojo's Core即可獲得dijit和dojox包含的(小)概覽。
我認爲在你的文章中有三個不同的問題(你的第三個項目符號點不計算在內),第一個問題可能無法在沒有看到你的代碼的情況下回答。否則,使用'dojo.extend()'擴展原型,Dijit是UI庫,DojoX是擴展庫。參見[參考指南](http://dojotoolkit.org/reference-guide/)。 –