2016-05-08 72 views
3

我想创建一个可编辑的SlickGrid(它使用jquery-ui),也使用Dojo。错误:从Dojo和jQuery UI冲突multipleDefine

当我的页面包含
<script src="../../bower_components/dojo/dojo.js"></script>
<script src="../../bower_components/SlickGrid/lib/jquery-ui-1.11.3.js"></script>
<script src="../../mlads/fillDemo/FillDemo.js"></script>
控制台显示

Error: multipleDefine 
return mix(new Error(error), {src:"dojoLoader", info:info}); dojo.js (line 106) 
src: dojoLoader dojo.js (line 1896) 
info: Object { pid="dijit", mid="dijit/_WidgetsInTemplateMixin", pack={...}, more...} 

如果我注释掉了jQuery UI的线,错误消失。
FillDemo.js是我的源代码,这与

require(
[ "dojo/_base/declare", 
    "dijit/_WidgetBase", 
    "dijit/_TemplatedMixin", 
    "dijit/_WidgetsInTemplateMixin", 
    "dijit/registry", 
    "dijit/form/Button", 
    "dijit/form/DropDownButton", 

回答

5

开始看起来这是在jQuery UI的加载时道场装载机intialized VS顺序错误。

看到这里的讨论更多的方面:https://geonet.esri.com/message/448542#comment-448449

的解决方案是让jQuery用户界面和jQuery已经加载之后肯定道场程序叫。为此,您可以将dojo的加载移动到HTML页面的底部,并将jQuery和jQueryUI保留在标题中。

+0

将jQuery UI移动到脚本列表的顶部为我工作! – Mycah