【问题标题】:jQuery sortable - does the handle have to be existing DOM elementjQuery 可排序 - 句柄是否必须是现有的 DOM 元素
【发布时间】:2018-02-12 15:57:46
【问题描述】:

当使用 sortable 并且你想给它一个句柄选项时,你选择的选择器在调用 sortable 时是否必须是 dom 上的现有元素?

如果是这样,是否可以为稍后动态添加的元素使用一个类?

示例代码:

$("#sortableMembers").sortable
({
    connectWith: "#sortableMembers",
    cursor: "move",
    delay: "150",
    revert: 200,

    start: function (e, ui)
    {
        //Workaround for the height being too small... make the height of the placeholder the same size
        //as the height of the container being dragged
        ui.placeholder.height(ui.item.height());
    }
});

然后当我添加一个 .member 元素时,我会调用

$('#sortableMembers').sortable('option', 'handle', '.member');

我做了.draggable,但它只是让我在屏幕上拖动元素,它没有对它们进行排序。以上没有做任何事情。

【问题讨论】:

  • 请说明项目是如何添加到您的可排序的?从另一个列表或通过拖动动态添加它们?以编程方式?
  • 我以编程方式添加它们。我创建一个元素,然后将其附加到我设置为可排序的元素下的 dom

标签: jquery jquery-ui jquery-ui-sortable


【解决方案1】:

在调用 sortable 时,您选择的选择器是否必须是 DOM 上的现有元素?

是的。另请注意,它必须是您定义为可拖动元素的后代。

如果是这样,是否可以为稍后动态添加的元素使用一个类?

您可以稍后在添加新项目及其句柄后更新可拖动项目的选项,如下所示:

$('.draggable').draggable('option', 'handle', '.handle-selector');

【讨论】:

  • 对不起,我上次的评论弄错了,跳了枪。当我将它设置为可拖动时,它只会让我拖动元素。我尝试设置 .sortable ,但它没有做任何事情。 \
  • 我没有看到你的最后评论,所以我不确定你的意思。但是,如果您对此有疑问,如果您可以编辑您的问题以包含您的代码的工作示例,这将非常有帮助。
  • 现在更新了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-01-23
  • 2023-03-24
  • 2011-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-14
相关资源
最近更新 更多