【问题标题】:Deleting an element after jsPlumb.draggable() in a droppable's drop: function删除 jsPlumb.draggable() 之后的元素 droppable 的 drop: 函数
【发布时间】:2014-01-28 02:19:40
【问题描述】:

我想创建一个删除区域,任何被删除的元素都会被删除。 因此,我使用drop:function(event,ui){ui.helper.remove()} 将其实现为可丢弃。 这不适用于jsPlumb.draggable()

The JSFiddle

当我使用 Jquery UI $(...).draggable() 使元素可拖动时,这可以正常工作。 因此,jsPlumb.draggable($(...),{}) 似乎没有使用助手。调用 ui.draggable.remove() 会删除更多元素。

我认为 jsPlumb 文档或 StackOverflow 中没有关于此特定问题的任何内容。

有什么想法吗? 如果可能的话,最好的解决方案是不使用elseif 阶梯来检查各种插件的各种实现。

【问题讨论】:

    标签: javascript jquery-ui jquery-ui-draggable jquery-ui-droppable jsplumb


    【解决方案1】:

    正如您提到的,使用 jQuery 可拖动一切正常,那么我建议您将 jsPlumb 可拖动替换为:

    droppedEleClone.draggable({
                    snap: '.dragme',
                    drag:function(e){
                        jsPlumb.repaint($(this));
                    }
                });
    

    并且在克隆时确保您提供不同的 ID。具有相同 ID 的 DOM 元素不会产生正确的结果。 由于克隆了同一个对象,因此很难识别出正确的对象并将其删除。因此提供不同的 ID。

    【讨论】:

    • 我希望从 jsPlumb 获得一些东西,或者为什么会发生这种情况。您的解决方案解决了问题,我会在 24 小时后接受。
    • @snugghash jsPlumb.draggable 会覆盖 jQuery.draggable,因此不会调用 drop 函数。如果您需要调用.drop 函数,则必须如上所述扩展jQuery.draggable 函数以手动更新jsPlumb 连接。类似问题:stackoverflow.com/questions/20818899/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多