gpt4 book ai didi

jQuery UI 可排序 : get new item position preventing DOM changes

转载 作者:行者123 更新时间:2023-12-01 03:46:00 25 4
gpt4 key购买 nike

我的页面上有一个可排序的列表。我只想知道用户的意图:他拖动什么项目以及在哪里,即拖动元素的旧位置和新(潜在)位置。

但我不希望 jQuery-sortable 真正改变我的 DOM ——我想自己做。这是示例:

$(".sortable-list").sortable({
items: ".sortable-item",
stop: function (event, ui) {
// prevent DOM changes
$(this).sortable('cancel');
// get the indices
var oldIndex = $(this).find('.sortable-item').index(ui.item);
var newIndex = 'how?'; // this is the question
}
});

我知道我可以使用 ui.originalPositionui.position 计算新位置,但我相信 jQuery-sortable 已经完成了这项工作,因为它在其中放置了一个占位符一个有效的地方,所以我只想获取该值。

我该怎么做?

最佳答案

嗯,当我写一个问题时,我实际上找到了解决方案。

事实证明,jQuery-sortable 在我调用 $(this).sortable('cancel') 之前确实更改了 DOM。此调用实际上所做的是恢复插件所做的更改。

这是工作代码:

$(".sortable-list").sortable({
items: ".sortable-item",
stop: function (event, ui) {
var newIndex = $(this).find('.sortable-item').index(ui.item);
$(this).sortable('cancel'); // revert changes
var oldIndex = $(this).find('.sortable-item').index(ui.item);
}
});

关于jQuery UI 可排序 : get new item position preventing DOM changes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13530613/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com