【问题标题】:Only allowing one droppable area jquery drag and drop只允许一个可放置区域 jquery 拖放
【发布时间】:2012-08-14 00:44:17
【问题描述】:

我有 jquery 拖放功能,因此我可以将表格中的一行移动到另一行。

演示在这里: http://www.aussiehaulage.com.au/Default.aspx

我使用 jquery-ui-1.8.22 使我的表格可拖动/可放置。

我的 javascript 是:

 $(document).ready(function () {

        $(".draggable").draggable({
            helper: function () { return "<div class='ghost'></div>"; },
            start: resizeGhost,
            revert: 'invalid'
        });

        $(".droppable").droppable({
            hoverClass: 'active',

            drop: function (event, ui) {
                var target = $(event.target);
                var draggable = ui.draggable;

                draggable.insertBefore(target);
            },
            tolerance: 'touch'


        });



    });

但是,当我移动行时,如果鼠标光标位于可放置表上的 2 行之间,则两个可放置行都会突出显示。我需要这样做,这样它一次只会突出显示 1 个可放置行。。

这可能吗?

【问题讨论】:

    标签: javascript jquery jquery-ui


    【解决方案1】:

    在您的可放置元素中添加一个新选项,使用公差拟合或相交

       $(".droppable").droppable({
            hoverClass: 'active',
            tolerence: 'intersect',
            drop: function (event, ui) {
                var target = $(event.target);
                var draggable = ui.draggable;
    
                draggable.insertBefore(target);
            },
            tolerance: 'touch'
    
        });
    

    供您参考:jquery-ui

    【讨论】:

    • 谢谢,我实际上使用了指针。我已经尝试过相交和拟合,但是指针可以解决问题:)
    • 我担心如果用户在他的操作系统上有一些奇怪的自定义指针,指针将不起作用——如果指针足够宽以覆盖两个可放置区域,问题仍然存在
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-16
    • 2015-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-12
    相关资源
    最近更新 更多