javascript - Jquery拖放允许2个元素

标签 javascript jquery jquery-ui draggable droppable

我在使用 jquery 拖放时遇到了一些问题。我只想从每个“ul”中拖动 1 个元素。所以我想要的结果是红色框中的“test”和“foo”。我如何跟踪红色框中的元素?

代码如下: http://jsfiddle.net/9edge/CTpTr/

提前致谢

最佳答案

填写两个单独的计数器,每个计数器对应一种项目类型(并为您的项目提供类以识别它们)。

使用 check() 函数检查您的限制,如果达到或未达到则返回 true/false,使用 drop() 函数更新您的计数器。

$(function() {
    var limit = 1;
    var counter_test = 0;
    var counter_foo = 0;
    $("[id=drag]").draggable({
        revert: "invalid"
    });
    $('#div1').droppable({
        accept: function(item) {
            if ($(item).hasClass('test')) {
                if (counter_test >= limit) {
                    return false;
                }
            }
            else {
                if (counter_foo >= limit) {
                    return false;
                }
            }
            return true;
        },
        drop: function(e, ui) {
            if (ui.draggable.hasClass('test')) {
                counter_test++;
            }
            else {
                counter_foo++;
            }
        }
    });
});
​

Fiddle

New Fiddle with IDs fixed

关于javascript - Jquery拖放允许2个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11859611/

相关文章:

javascript - JQuery UI 选项卡不会在页面重新加载时保存所选选项卡索引

javascript - 清除 URL 标签的最佳方法

javascript - 获取多边形的边界框

javascript - PySide 将 HTML 中的按钮连接到 PySide 插槽

c# - 从 C# 多次调用 KnokcoutJS ViewModel,无需单击按钮

javascript - 句子的正确顺序

jQuery getJSON 不适用于 REST 端

javascript - 如何判断一个元素是否是 jquery-ui 小部件?

javascript - 如何在购物车中提交之前检查有效的整数数量

javascript - 在 Javascript 中删除属性