dojoType替代方案

时间:2011-11-14 13:10:54

标签: javascript css xhtml dojo

<input type="text" name="date" value="" dojoType="dijit.form.DateTextBox" required="true" />

我想避免使用dojoType有两个原因:

  • parseonload使其“跳转”onload(你看到系统默认的输入字段有一段时间onload)

  • 它没有验证HTML

那么替代方案呢?

2 个答案:

答案 0 :(得分:8)

您的问题有几种不同的方法:

使用程序化创建dijit小部件。您可以通过javascript以编程方式创建和放置小部件,而不是在元素上指定dojoType。在dojo参考文档中,您会注意到大多数组件都有声明性示例和编程示例(例如,dijit.form.Select)。程序化样式允许您避免将dijit组件直接放在html标记中。

此外,Dojo 1.6提供了一种在声明性组件上放置属性的新方式。您可以使用data-dojo-type,而不是指定dojoType。有关此新功能的更多信息,请参见here

您可以通过两种方式解决parseOnLoad问题。一种方法是隐藏页面内容,直到解析完成。 dijit theme tester执行此操作。您会注意到,当您加载页面时,您最初会看到有关页面加载的消息,然后完全填充的页面将会淡入。

答案 1 :(得分:6)

要拥有有效的HTML,从Dojo 1.6开始,您可以使用data-dojo-XXX属性而不是dojoXXX属性。 HTML5规范保留了&#34;数据 - &#34;这种用户定义属性的前缀。

http://dojotoolkit.org/features/1.6/html5data-attributes