javascript - jQuery droppable 对象执行 destroy() 但抛出错误

标签 javascript jquery jquery-ui draggable destroy

当我运行这个

$('#tgsBox1').droppable({
    accept: "#tgsSquirrel",
    drop: function(e, ui) {
        ui.draggable.animate({
            left: $(this).position().left + 25,
            top: $(this).position().top + 131
        }).destroy();
    }
});

可拖动元素实际上已被销毁(不再可拖动),但它给出了错误:

TypeError: ui.draggable.animate(...).destroy is not a function
ui.draggable.animate({

看起来与旧线程相似:jquery ui error for ui.draggable("destroy") ,但假设的解决方案(更新 jQuery-ui)并不能解决这个问题。

最佳答案

在 jQuery ui 可拖动小部件中调用方法的语法是:

$( ".selector" ).draggable( "method" );

对于destroy : $( ".selector").draggable( "destroy");

尝试按如下方式调用该方法:

$('#tgsBox1').droppable({
  accept: "#tgsSquirrel",
  drop: function(e, ui) {
    ui.draggable.animate({
        left: $(this).position().left + 25,
        top: $(this).position().top + 131
    }).draggable("destroy");
  }
});

它不再可拖动的原因可能是因为脚本执行因错误而停止。

您可能还想在动画完成后销毁可拖动对象:

$('#tgsBox1').droppable({
  accept: "#tgsSquirrel",
  drop: function(e, ui) {
    ui.draggable.animate({
        left: $(this).position().left + 25,
        top: $(this).position().top + 131
    },function(){
       ui.draggable.draggable("destroy");
    });
  }
});

关于javascript - jQuery droppable 对象执行 destroy() 但抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27385346/

相关文章:

javascript - 如何使用这样的代码使 div 淡出而不是消失? (JavaScript)

javascript - 无法读取未定义的属性 - Ajax POST

javascript - jQuery UI Datepicker - 为什么第二个 datepicker 消失在焦点上?

javascript - 使用包含选项拖动时引导模式消失

javascript - 在嵌套列表上限制 JQuery UI sortable() 的范围

onmouseevent 之后 JavaScript 值没有更新

javascript - 如何在 bootstrap scrollspy 和 Affix 中为 href anchor 设置偏移距离

javascript - 无需点击 Chrome 插件即可获取 URL

javascript - Bootstrap Modal Jquery 无法正确呈现或显示

jQuery UI 可排序序列化或 toarray 方法 - 需要建议