2009-09-03 22 views
0

我开始在我的第一个dijit.Tree控件样本上工作。Dojo - 我的一些form.dijit似乎在一个页面上死了/不活动

当它不起作用时,我添加了几个dijit.form.Textbox'es到屏幕上,他们也没有工作,即使我让他们在类似的表单上工作得很好。有趣的是,当我杀死FireFox并重新启动它时,我在FireBug控制台中得到了一个清晰的消息,说明我的树控件出了什么问题,并且修复了它。

但是现在我很困惑,而像添加的NumberTextBox这样的简单dijits却不起作用。

我的样品: 1)http://3wcloud-com-provisioning-qa.appspot.com/testDijitDate - 这个伟大工程 (除初始日期值不显示 - 我有一个单独的问题上打开) 2)http://3wcloud-com-provisioning-qa.appspot.com/testDijitTree

我已经做了几个“差异” s的两个文件,我发现不同的是,会导致一个工作,一个不工作。

感谢, 尼尔

回答

0

你应该把你的dojo.require语句立即在脚本块,而不是包裹在onload回调。另外,你的输入标签应该是没有XHTML样式斜杠的HTML样式(你没有在你的文档中声明XHTML),但我怀疑这是问题所在。看看这些事情是否有帮助。

+0

我改变了输入 - 相同的结果。 – NealWalters 2009-09-04 19:09:31

+0

我想你在dojo.require上是错的。按照: O'Reilly Dojo book - “因为dojo.require语句在XDomain加载上是异步的,所以立即使用您所请求的资源,称为”竞争条件“并不一定安全。使用dojo.addOnLoad是一个很好的习惯来进入,因为它使得你的页面尽可能便携 - 无论它是否加载了XDomain。“ – NealWalters 2009-09-04 19:11:23

+0

正确...我认为本书建议使用由dojo.require加载的代码的任何内容必须位于addOnLoad中,因为dojo.require()中的加载本身是异步的。事实上,你的addOnLoad回调没有严格定义为在解析器之前运行,它本身在Dojo的onload队列中,但我认为队列是LIFO,所以你很幸运:)无论哪种方式,我同意,这似乎不是你的问题。对不起,我没有看到其他任何明显的。如果可以,我会尽力挖掘更多。 – peller 2009-09-06 02:33:31

相关问题