Javascript &引用;未捕获类型错误:未定义不是函数;对于jQuery可拖放

Javascript &引用;未捕获类型错误:未定义不是函数;对于jQuery可拖放,javascript,jquery,Javascript,Jquery,我希望启用拖动元素并将它们放到指定的元素容器中。但当我加载我的网站时,我会在控制台中看到:uncaughttypeerror:undefined不是一个函数。。。presentation categories.js?版本=1:23 第23行是$(“.panel body”).dropable({开始的地方 我试图移除整个$(“.panel body”).dropable(…);然后draggable工作,但我需要放置容器 这是实际的演示类别。js: var dropped = false; $

我希望启用拖动元素并将它们放到指定的元素容器中。但当我加载我的网站时,我会在控制台中看到:
uncaughttypeerror:undefined不是一个函数。。。presentation categories.js?版本=1:23

第23行是
$(“.panel body”).dropable({
开始的地方

我试图移除整个
$(“.panel body”).dropable(…);
然后
draggable
工作,但我需要放置容器

这是实际的
演示类别。js

var dropped = false;

$( ".draggable-presentation" ).draggable({
  appendTo: ".my",
  zIndex: 999999999,
  placeholder: "sortable-placeholder",
  revert: true,
  cursorAt: {
    left: 67,
    top: 43
  },
  helper: function() {
    var presBackground = $(this).find('.slide').css('background');
    var presentationName = $(this).find('strong').html();
    var helper = $('<div class="slide-helper"></div>').html(presentationName).css({background: presBackground});
    return helper;
  }
});

$( ".panel-body" ).droppable({
  activeClass: "ui-state-default",
  hoverClass: "ui-state-hover",
  accept: ".slideshowWindow, .draggable-presentation, .slide",
  drop: function( event, ui ) {
    dropped = true;
  }
}).sortable();
var-drop=false;
$(“.draggable演示文稿”).draggable({
附件:“.my”,
zIndex:99999999,
占位符:“可排序占位符”,
回复:对,
库索拉特:{
左:67,
排名:43
},
助手:函数(){
var presBackground=$(this.find('.slide').css('background');
var presentationName=$(this.find('strong').html();
var helper=$('').html(presentationName.css({background:presBackground});
返回助手;
}
});
$(“.panel body”).可拖放({
activeClass:“ui状态默认值”,
hoverClass:“ui状态悬停”,
接受:“.slideshowWindow、.draggable演示文稿、.slide”,
drop:函数(事件、用户界面){
删除=真;
}
}).sortable();

PS:我包括了jQuery和jQuery ui脚本以及最新版本。

我收到了相同的错误消息,我通过更新我的jQuery ui javascript文件解决了它

转到并确保选中了“可拖放”选项,然后单击下载


现在,您将拥有一个包含可拖放功能的jQuery UI javascript文件。

在我的情况下,是因为在包含
jQuery UI
之后再次包含
jQuery
,所以请确保
jQuery
jQuery UI

之前包含
正确地排除了它们,但最有可能导致此错误的原因是那里的问题。第23行的“未定义不是函数”表明未定义可拖放的
require.js
,因此:
require(['jquery',jquery ui',],function($){
。它必须是正确的,因为其他jQuery ui交互工作正常。您可以记录$以及$('.panel body').droppable的内容吗?
console.log($('document').sortable());
->元素选择器和
console.log($('document').droppable());
->TypeError.我不知道为什么,但可排序和可拖放都是jQuery-ui的交互作用。对不起,我差点忘了你的答案:D是的,我记得,更新jQuery-ui是有效的。我使用的是requireJS,所以jQuery总是在jQuery-ui之前加载,但正如我在之前的评论中所说的,我只需要将jQuery-ui升级到最新版本。现在使用Cdnjquery,所以我不应该再发生这种情况。