jQuery.ui.draggable.js和jQuery.ui.widget.js冲突

时间:2010-04-07 17:34:06

标签: javascript jquery jquery-ui

我有一个工作应用程序,它使用了一个jquery ui对话框。我想让对话框可拖动。据我所知,唯一需要的是jquery.ui.draggable.js脚本。所以我将它添加到我正在使用的脚本中,但是知道我收到以下错误(如firebug控制台中所示):base不是构造函数 jquery.ui.widget.js中的相关行是:

var basePrototype = new base(); 

这就是我添加所有脚本的方式:

<script type="text/javascript" src="/media/development-bundle/jquery-1.4.2.js"></script>
<script type="text/javascript" src="/media/development-bundle/ui/jquery.ui.core.js"></script>
<script type="text/javascript" src="/media/development-bundle/ui/jquery.ui.widget.js"></script>
<script type="text/javascript" src="/media/development-bundle/ui/jquery.ui.draggable.js"></script>
<script type="text/javascript" src="/media/development-bundle/ui/jquery.ui.position.js"></script>
<script type="text/javascript" src="/media/development-bundle/ui/jquery.ui.autocomplete.js"></script>
<script type="text/javascript" src="/media/development-bundle/ui/jquery.ui.dialog.js"></script>

我做错了吗?或者这是jquery的问题吗?

提前感谢您提供任何帮助

2 个答案:

答案 0 :(得分:45)

问题是draggable扩展了$ .ui,mouse,并且包含在UI 1.7x中的ui核心文件中。

您需要在draggable之前包含jquery.ui.mouse.js,这样才能解决问题。

答案 1 :(得分:2)

您可能应该访问jQuery UI站点并自己构建所需的jQuery UI组件的“自定义”包装。那么你只需要担心一个脚本(好吧,加上jQuery本身)。