2011-11-14 19 views
2
私は2つの理由のためにdojoTypeではを避けたい
<input type="text" name="date" value="" dojoType="dijit.form.DateTextBox" required="true" /> 

dojoTypeでは代替

  • parseonloadがそれを作る "ジャンプ" のonload

  • (あなたはいくつかの時間のonloadのためのシステム・デフォルトの入力フィールドを参照してください) HTMLの妥当性チェックが行われていません

答えて

8

あなたの問題への異なるアプローチのカップルがあります。

利用のdijitウィジェットのプログラム作成が。要素でdojoTypeを指定する代わりに、プログラムでjavascriptを使用してウィジェットを作成して配置することができます。 dojoリファレンス・ドキュメントでは、ほとんどのコンポーネントに宣言的な例とプログラム的な例があることがわかります(たとえば、dijit.form.Select)。プログラムスタイルでは、dijitコンポーネントをHTMLマークアップに直接配置することを避けることができます。

また、Dojo 1.6は、宣言的なコンポーネントに属性を配置する新しいスタイルを提供します。 dojoTypeを指定するのではなく、data-dojo-typeを使用できます。この新機能の詳細については、hereを参照してください。

parseOnLoadの問題を解決するには、いくつかの方法があります。 1つの方法は、解析が完了するまでページコンテンツを隠すことです。 dijit theme testerはこれを行います。ページを読み込むと、最初にページの読み込みに関するメッセージが表示され、完全に読み込まれたページはフェードインします。