2011-11-14 55 views
2
<input type="text" name="date" value="" dojoType="dijit.form.DateTextBox" required="true" /> 

我想避免的dojoType原因有二:的dojoType替代

  • parseonload使得 「跳」 的onload(你看到了一段時間的onload系統默認輸入字段)

  • 它不驗證HTML

所以最新的替代?

回答

8

有幾個不同的方法,以您的問題:

使用編程方式創建dijit的小部件。而不是在元素上指定dojoType,您可以通過編程方式創建和放置小部件。在dojo參考文檔中,您會注意到大多數組件都有一個聲明性示例和一個編程示例(例如,dijit.form.Select)。編程風格允許您避免將dijit組件直接放置在您的html標記中。

另外,Dojo 1.6提供了一種將屬性放置在聲明性組件上的新風格。您可以使用data-dojo類型,而不是指定dojoType。關於這個新功能的更多信息可以在here找到。

您可以通過幾種方法解決parseOnLoad問題。一種方法是隱藏頁面內容直到解析完成。 dijit theme tester這樣做。您會注意到,當您加載頁面時,您將首先看到有關頁面加載的消息,然後完全填充的頁面將淡入。