有你需要检查几件事情:
- 确定按钮被解析?查看HTML源代码并验证按钮的HTML代码是否仍与您提供的代码相同。当Dojo解析HTML代码时,它通常会将HTML代码更改为更复杂的代码。如果你没有那么复杂的代码,你的小部件不会被Dojo拾取。
- 你输入了正确的CSS文件吗?您需要确保您导入了正确的CSS文件,例如
claro.css
。
- 是否有任何父元素具有主题类名称?如果您使用claro主题(例如),则需要确保您的类名
claro
处于某个地方,通常位于您的body
标签中。
编辑: 更多的事情来检查:
你有你的require()
dijit/form/Button
?假设你正在使用的Dojo 1.6(因为你正在使用的旧dojoType
),你需要的代码是:
dojo.require("dijit.form.Button");
是您的按钮加载异步或不?如果它是异步加载的,则在加载页面时不会分析您的节点。这意味着你必须通过在<div>
包装您的按钮手动异步并手动解析DIV,例如:
<div id="toParse">
<input onclick="createLoader(); dojoType="dijit.form.Button" try{//some Ajax calls};return false" type="button" value="Search">
</div>
而且在JavaScript:
dojo.parser.parse("toParse");
1.我的代码不会被解析。没有任何Dojo代码存在。 2. Claro.css在那里。所有其他组件正在工作。 – Jacob
然后你必须找到你的Dojo代码没有被编译的原因。 'require()'块中的'dijit/form/Button'?我对Grails不是很熟悉,但加载的内容是异步的? – g00glen00b
这是礼物:dojo.require('dijit.form.Button'); – Jacob