Uncaught TypeError: $(...).draggable is not a function
Uncaught TypeError: $(...).draggable is not a function
大家好,我正在尝试让一些 div 可以拖动,我已经用 jquery-ui 做到了。我还有一个脚本可以删除 2 divs 并将它们组合成一个(就像它们已经合并在一起一样)但是当我在新的 "merged" div 上调用可拖动函数时我得到的错误是标题...那么问题是什么? .draggable 函数怎么可能在一个地方工作而不在另一个地方(在同一个文件上)!!
这是可拖动的功能:
function drag($class){
$("."+$class).draggable({
containment: ".tab-content",
grid: [ 3, 3 ],
zIndex:100,
obstacle: "#nothere",
preventCollision: true,
drag:
function(){
$(".test").css("background-color","red");
$(this).css("background-color","green");
}
});
}
首先我调用它进行测试 class 它完美无误
drag("test");
但是当我在合并函数中再次调用它时 return 错误:
未捕获的类型错误:$(...).draggable 不是函数
drag("test:not(.ui-draggable)");
正确加载js文件:
<script type="text/javascript" src="js/jquery-2.1.4.min.js"></script>
<script type="text/javascript" src="js/jquery-ui.min.js"></script>
请务必在您的项目中包含以下文件:
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
检查他们的example。使用Developer tools(Chrome下的F12)查看是否所有资源都导入了
我知道这是一个老问题,但因为我遇到了同样的问题而且找不到答案...
我包含了所有正确的脚本,检查了链接是否有效等,但它仍然无法正常工作。
然后我将脚本引用移动到调用 .draggable 的代码的正上方并且..它工作得很好。
<link rel="stylesheet" href="https://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.min.css"/>
<script type="text/javascript" src="https://code.jquery.com/jquery-1.12.4.min.js" />
<script type="text/javascript" src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js" />
<script type="text/javascript">
$(function () {
$(".regionStyle li").draggable();
$(".regionStyle").droppable({
drop: function (event, ui) {
$(this)
.addClass("ui-state-highlight")
.find("p")
.html("Item Dropped!");
}
});
});
大家好,我正在尝试让一些 div 可以拖动,我已经用 jquery-ui 做到了。我还有一个脚本可以删除 2 divs 并将它们组合成一个(就像它们已经合并在一起一样)但是当我在新的 "merged" div 上调用可拖动函数时我得到的错误是标题...那么问题是什么? .draggable 函数怎么可能在一个地方工作而不在另一个地方(在同一个文件上)!!
这是可拖动的功能:
function drag($class){
$("."+$class).draggable({
containment: ".tab-content",
grid: [ 3, 3 ],
zIndex:100,
obstacle: "#nothere",
preventCollision: true,
drag:
function(){
$(".test").css("background-color","red");
$(this).css("background-color","green");
}
});
}
首先我调用它进行测试 class 它完美无误
drag("test");
但是当我在合并函数中再次调用它时 return 错误: 未捕获的类型错误:$(...).draggable 不是函数
drag("test:not(.ui-draggable)");
正确加载js文件:
<script type="text/javascript" src="js/jquery-2.1.4.min.js"></script>
<script type="text/javascript" src="js/jquery-ui.min.js"></script>
请务必在您的项目中包含以下文件:
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
检查他们的example。使用Developer tools(Chrome下的F12)查看是否所有资源都导入了
我知道这是一个老问题,但因为我遇到了同样的问题而且找不到答案...
我包含了所有正确的脚本,检查了链接是否有效等,但它仍然无法正常工作。
然后我将脚本引用移动到调用 .draggable 的代码的正上方并且..它工作得很好。
<link rel="stylesheet" href="https://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.min.css"/>
<script type="text/javascript" src="https://code.jquery.com/jquery-1.12.4.min.js" />
<script type="text/javascript" src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js" />
<script type="text/javascript">
$(function () {
$(".regionStyle li").draggable();
$(".regionStyle").droppable({
drop: function (event, ui) {
$(this)
.addClass("ui-state-highlight")
.find("p")
.html("Item Dropped!");
}
});
});