dijit.Fieldset未定义

时间:2013-09-01 16:03:03

标签: javascript dojo fieldset

我正在尝试使用dijit.Fieldset,但它不起作用。在我需要的数组中,我已经包含了“dijit / Fieldset”,并且在函数定义中我将它映射到了Fieldset。我包括的其他东西,如“dijit / form / Button”和“dojo / on”工作正常。但是,当我尝试用这个创建一个Fieldset:

var temp = new Fieldset({ title: "Locations", content: "Blah" });

我收到消息:

  

对象不支持此操作。

我进入dubug模式,可以看到Fieldset的值只是一个3的int值(我真的不明白)。如果我试图访问是使用dijit.Fieldset我得到相同的错误。然后当我调试并将鼠标悬停在Fieldset上时,我得到undefined的值。 dijit被定义并给出了你在moused结束时所期望的东西。所以,我似乎没有加载dijit.Fieldset。任何人都可以建议吗?我正在使用1.9。

由于

更新

到目前为止,感谢您的帮助。我承认我省略了完整的代码,因为它有点啰嗦,并且不想让人们回答!这是代码 - 另一个忏悔,我不确定这是否被称为dojo命名法中的类或模块。

define([
"dojo/_base/declare",
"dojo/_base/lang",
"dojo/dom-construct",
"dojo/on",
"dojo/html",
"dijit/registry",
"dijit/Fieldset",
"dijit/Tooltip",
"dijit/TooltipDialog",
"dijit/form/DropDownButton", 
"dgrid/OnDemandGrid",
"dgrid/Selection",
"dgrid/Keyboard",
"dgrid/extensions/DijitRegistry",
"esri/map",
"esri/tasks/route",
"esri/toolbars/edit",
"dijit/Menu",
"dijit/MenuItem",
"dijit/form/Button",
"my/app/RouteSymbols"
], function (declare, lang, domConstruct, on, html, registry, Fieldset, Tooltip) {
    return declare("my.app.RouteUtils", null, {

}

我还认为它在定义中看起来像是一个错误。奇怪的是,所需的模块(dijit / registry和dijit / Tooltip)都正确加载并在页面上正常工作。

关于版本,我使用的是IE9。

再次,谢谢。 西蒙

1 个答案:

答案 0 :(得分:0)

如果模块的值是文字值3,那是因为1.您正在使用工具包的内置版本,并且2.加载程序已将模块识别为不是AMD模块,即使脚本本身已加载,它也没有调用define函数。

至于为什么dijit/Fieldset具体发生这种情况,没有看到你正在做什么或者你正在使用什么浏览器(错误消息说IE,但是不可能知道什么版本),这是不可能说的