参见英文答案 >
jQuery UI – Draggable is not a function?16个
大家好我想让一些divs拖延,我已经设法用jquery-ui做到了.我还有一个脚本删除2个div并将它们合并为一个(如果它们已经合并在一起)但是当我在新的“合并”div上调用draggable函数时我得到的错误是标题…所以问题是什么 ?怎么可能.draggable函数在一个地方工作而不在另一个地方(在同一个文件上)!!
大家好我想让一些divs拖延,我已经设法用jquery-ui做到了.我还有一个脚本删除2个div并将它们合并为一个(如果它们已经合并在一起)但是当我在新的“合并”div上调用draggable函数时我得到的错误是标题…所以问题是什么 ?怎么可能.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");
}
});
}
首先,我为测试类调用它,它完美无缺地运行
drag("test");
但是当我在合并函数中再次调用它时它会返回错误:
未捕获的TypeError:$(…).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.使用开发人员工具(Chrome下的F12)查看是否已导入所有资源.