Jquery ui JQuery拖放插件的延迟初始化

Jquery ui JQuery拖放插件的延迟初始化,jquery-ui,jquery-ui-draggable,jquery-ui-droppable,Jquery Ui,Jquery Ui Draggable,Jquery Ui Droppable,是否可以将jQueryUI拖放插件从初始化推迟到移动或单击完成?不确定这是否可行。我有很多单元格使用拖放功能,就像Excel网格一样,但性能并不好。您可以使用或 从API文档中: 延迟 鼠标向下移动到开始拖动之前的时间(毫秒)。这 选项可用于在单击鼠标时防止不必要的拖动 元素 距离 鼠标后的距离(以像素为单位)鼠标必须向下移动才能开始拖动。此选项可用于防止 单击图元时出现不需要的拖动 更新: 要保持更标准的功能并仅在需要时初始化Dragable,请尝试使用如下悬停函数: $('div').h

是否可以将jQueryUI拖放插件从初始化推迟到移动或单击完成?不确定这是否可行。我有很多单元格使用拖放功能,就像Excel网格一样,但性能并不好。

您可以使用或

从API文档中:

延迟
鼠标向下移动到开始拖动之前的时间(毫秒)。这 选项可用于在单击鼠标时防止不必要的拖动 元素

距离
鼠标后的距离(以像素为单位)鼠标必须向下移动才能开始拖动。此选项可用于防止 单击图元时出现不需要的拖动


更新:

要保持更标准的功能并仅在需要时初始化Dragable,请尝试使用如下悬停函数:

$('div').hover(function () {
    $(this).addClass('selector');
    $(".selector").draggable({
        //options
    });
},

function () {
    $('div').removeClass('selector');
});

我走了这条路,它似乎奏效了

$.fn.liveDraggable = function (opts) {
    this.one("mouseover", function () {
        if (!$(this).data("init")) {
            $(this).data("init", true).draggable(opts);
        }
    });
    return this;
};

您是否可以创建/?这仍然会初始化元素。我想尝试初始化它,可能是点击并按住按钮,当元素悬停在它上面时,init会下降,但不确定这是否可行。如果没有,我不想一次初始化1000个单元格的网格。您仍然可以单击,然后重新单击拖动。我希望它能像以前一样工作。@MikeFlynn你试过更基本的悬停功能吗?请参阅更新
$.fn.liveDraggable = function (opts) {
    this.one("mouseover", function () {
        if (!$(this).data("init")) {
            $(this).data("init", true).draggable(opts);
        }
    });
    return this;
};