jQuery UI Sortable:在拖动时列表更改时维护可排序帮助器

发布于 2024-11-18 00:30:17 字数 439 浏览 1 评论 0原文

我有一个元素列表,使用 jQuery UI Sortable 我可以拖动列表并对其进行排序。现在棘手的部分是这个列表在不断变化。有推送请求,并且此列表会随着您的拖动而增长。我一切正常,除了当用户拖动并添加新列表项时,可排序帮助器(正在拖动的列表项)无法在此实时列表中排序。我最终得到错误:“无法调用 null 的方法‘insertBefore’”。我尝试过调用 $("#sortable").sortable("refresh") 但这似乎对您使用的列表没有影响。

<ul id="sortable">
    <li>one</li>
    <li>two</li>
    <li>three</li>
</ul>

有没有办法在实时列表更新时维护用户拖动的可排序帮助器?

谢谢!

I have a list of elements and using jQuery UI Sortable I'm able to drag and sort the list. Now the tricky part is that this list is constantly changing. There are push requests and this list grows as you are dragging. I have everything working except when a user is dragging and new list items are added, the sortable-helper (the list item being dragged) is unable to be sorted in this realtime list. I end up with the error: "Cannot call method 'insertBefore' of null". I have tried calling $("#sortable").sortable("refresh") but that seems to have no impact on the list as you are using it.

<ul id="sortable">
    <li>one</li>
    <li>two</li>
    <li>three</li>
</ul>

Is there a way to maintain the sortable-helper that the user is dragging as this realtime list is updating?

Thanks!

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

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

发布评论

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

评论(1

少钕鈤記 2024-11-25 00:30:17

当您开始拖动项目时,您将需要锁定列表。这可以通过简单地使用一个变量来完成,即:var list_locked = 1;,在将更多列表项添加到列表之前检查该变量。动态添加项目到列表的机制需要等待list_locked = 0才能安全添加更多项目。传入的项目可以存储在数组中。当用户开始拖动以及用户开始对列表进行排序时,jQuery UI 会发出一些事件。使用这些事件来了解何时锁定列表。

When you begin dragging an item, you will need to lock the list. This can be accomplished by simply using a variable ie: var list_locked = 1; that is checked before more list items are added to the list. The mechanism that dynamically adds items to the list will need wait for list_locked = 0 before safely adding more items. The incoming items could be stored in an array. There are events that are issued by jQuery UI when the user begins dragging and when the user begins sorting a list. Use these events to know when to lock the list.

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