【问题标题】:jQuery droppable item overlapjQuery可放置项目重叠
【发布时间】:2009-10-09 10:28:31
【问题描述】:

我有 1 个可拖动的 div 和 2 个可放置的 div。这 2 个可放置的 div 也是可拖动的,因此这 2 个 div 可能会重叠。在那种情况下,当我将可拖动的 div 拖放到重叠的 div 时,是否有办法确保它被拖放到顶部?

【问题讨论】:

    标签: jquery jquery-ui drag-and-drop droppable


    【解决方案1】:

    我有一个稍微不同的问题:我有两种类型的 droppable,一种总是在另一种之上。

    要知道draggable 被拖放到哪个droppable 上,当它被拖到它上面时,更高的droppable 将一个类添加到draggable 上。当两个 droppable 上的 drop 事件触发时,较低的 droppable 检查可拖动对象是否具有添加的类。如果是,则忽略 drop 事件。

    top.droppable({
        over: function( drop_event, drop_ui ) {
          drop_ui.helper.addClass('over_top_element');
        },
        out: function( drop_event, drop_ui ) {
          drop_ui.helper.removeClass('over_top_element');
        },
        drop: function(drop_event, drop_ui) {
          //Handle drop here
        }
    });
    
    bottom.droppable({
        drop: function(drop_event, drop_ui) {
            if (!ui.helper.hasClass('over_top_element'))
            {
                //Handle drop here
            }
        }
    });
    

    【讨论】:

    • 我认为这不适用于最新的 jquery-ui 1.8.x,因为它只会触发第一个声明的 droppable,所以我最终编写了自己的 droppable:S
    猜你喜欢
    • 2012-12-01
    • 1970-01-01
    • 2021-11-11
    • 2014-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-30
    • 2018-04-13
    相关资源
    最近更新 更多