jQuery UI 可拖动 - 如果发生有效的放置,则删除克隆

发布于 2024-12-01 08:31:44 字数 440 浏览 1 评论 0原文

我试图让类似以下的内容起作用,但找不到为此使用停止事件的正确方法。

我有两列,您可以从右向左拖动。如果放置无效,我的恢复功能可以正常工作,但如果左列发生有效放置,我想删除右列中的项目。我知道条件不正确,但我不确定要查找什么标志来确定丢弃是否有效。

$("#sortable2 li").draggable({
        connectToSortable: "#sortable1",
        helper: "clone",
        revert: "invalid",
        stop: function (event, ui) {
            if (drop == "valid") 
            { 
               $(this).remove(); 
            }
        }
    });

I'm trying to get something like the following to work but can't find the correct way to use the stop event for this.

I've got two columns where you can drag from the right to the left. I've got the revert function working correctly if the drop was invalid but I want to remove the item in the right column if a valid drop occurred on the left column. I know the conditional isn't correct but I'm not sure what flag to look for to determine if the drop was valid.

$("#sortable2 li").draggable({
        connectToSortable: "#sortable1",
        helper: "clone",
        revert: "invalid",
        stop: function (event, ui) {
            if (drop == "valid") 
            { 
               $(this).remove(); 
            }
        }
    });

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

披肩女神 2024-12-08 08:31:44

您可以使用 .sortable 上的 receive 事件来删除原始元素

示例 jsfiddle

$("#sortable1").sortable({
    receive: function (event, ui) { // add this handler
        ui.item.remove(); // remove original item
    }
});

$("#sortable2 li").draggable({
    connectToSortable: "#sortable1",
    helper: "clone",
    revert: "invalid"
});

you can handle removing the original element using the receive event on the .sortable

example jsfiddle

$("#sortable1").sortable({
    receive: function (event, ui) { // add this handler
        ui.item.remove(); // remove original item
    }
});

$("#sortable2 li").draggable({
    connectToSortable: "#sortable1",
    helper: "clone",
    revert: "invalid"
});
谎言 2024-12-08 08:31:44

首先,您可以比较 event-start事件停止。使用调试器进入事件函数,您可以看到两者之间的区别。

As a start you can compare the differences between event-start and event-stop. Use a debugger to break into the Event Function and you can see the difference between the two.

眼前雾蒙蒙 2024-12-08 08:31:44

如果您没有对任何内容进行排序,并且希望在放置有效时删除原始项目,则只需删除 helper:"clone" 即可。

$("#sortable2 li").draggable({
    恢复:“无效”,
});   

If you are not sorting anything and want the original item to be remove as the drop is valid, you can just remove the helper:"clone".

$("#sortable2 li").draggable({
    revert: "invalid",
});   
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文