1

我正在使用 jquery 可拖动碰撞插件,它在加载“类型错误 i 未定义”的页面时引发错误

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>jQuery UI Droppable - Default functionality</title>
<link rel="stylesheet" type="text/css" href="css/jquery-ui.css" />
<link rel="stylesheet" type="text/css" href="css/styles.css" />
<script type="text/javascript" src="js/jquery-1.9.1.js"></script>
<script type= "text/javascript" src="js/jquery-ui.js"></script>
<script type= "text/javascript" src="js/jquery-collision.min.js"></script>
<script type= "text/javascript" src="js/jquery-ui-draggable-collision.min.js"></script>
<script type= "text/javascript" src="js/common.js"></script>

</head>
<body>
<div id="header">Sprite Generator</div>

<div id="droppable" >
<div id="overLay">Drop Files Here</div>
</div>
<div id="cssDetails">
<div id="cssHead">CSS Data</div>
</div>
<div id="errorMessage"></div>
</body>
</html>

这是我使用的代码。请帮忙,我不知道这里出了什么问题。

4

2 回答 2

3

错误在于可拖动的碰撞插件文件。每次.data("draggable")调用该方法时,都会返回一个未定义的值。

jQuery UI 1.9.2 和 1.10.3 之间存在细微差别。在最后一个版本中,.data("draggable")已替换为.data("ui-draggable").

你应该 :

  • 要么使用旧版本的 jQuery UI 插件,

  • 或使用最新版本,然后在 jquery-ui-draggable-collision.min.js 文件中替换.data("draggable")为。.data("ui-draggable")

在我自己的情况下,我使用了第二种解决方案。但是您的情况可能会有所不同,因为我不知道您现在使用的是哪个版本的 jQuery UI 插件。

于 2013-10-29T12:53:26.227 回答
1

jQuery UI Draggable Collision 的自述文件如下:

加载 jquery-ui-draggable-collision 及其依赖项:

<script src="jquery-1.8.3.js"></script>
<script src="ui/jquery.ui.core.js"></script>
<script src="ui/jquery.ui.widget.js"></script>
<script src="ui/jquery.ui.mouse.js"></script>
<script src="ui/jquery.ui.draggable.js"></script>
<script src="jquery-collision-1.0.2.js"></script>
<script src="jquery-ui-draggable-collision-1.0.2.js"></script>

它没有解释为什么需要单独加载模块,但我怀疑某处发生了冲突。我会尝试包含特定的单个文件(核心、小部件、鼠标、可拖动、碰撞和 ui-draggable-collision),看看是否有效。如果您的问题中没有更多信息,我很难尝试一系列具体的事情,但这可能是您最好的选择。

于 2013-10-28T18:20:54.790 回答