【问题标题】:JQuery Droppable and Draggable between listviews - No sorting within listview列表视图之间的 JQuery Droppable 和 Draggable - 列表视图中没有排序
【发布时间】:2018-01-10 17:21:56
【问题描述】:

我正在使用cordova、jquery mobile 和touch punch 开发一个移动应用程序。我有两个类似于示例的列表视图:https://jqueryui.com/sortable/#connect-lists 代码:

$(function() {
    $("#sortable1, #sortable2").sortable({
        connectWith: ".connectedSortable"
    }).disableSelection();
});   

但是,我不希望列表本身可以排序,因为如果用户向上和向下滑动列表,这会干扰滚动。这两个列表都可能很长。因此,我想防止在 ul 中排序,但保留可拖动和可放置属性。有什么想法吗?

【问题讨论】:

  • 如果可能,请在您的问题中包含示例代码,而不是在链接后面。
  • 已按要求更新..

标签: jquery jquery-ui-sortable jquery-ui-draggable jquery-ui-droppable


【解决方案1】:

你可以这样做:

 $(function() {
   $("#list1 li, #list2 li").draggable({
     helper: "clone"
   });
   $("#list1, #list2").droppable({
     drop: function(ev, ui) {
       $(this).append(ui.draggable);
     }
   });
 });

Online demo(jsFiddle)

【讨论】:

  • 谢谢。但是,我仍然可以对两个列表本身进行排序,即,我可以将列表中的第 1 项移动到第 4 项之后。我想禁用排序。
  • @Nasheia 你想要draggable,它允许用户将项目拖到任何地方并阻止用户对项目进行排序。这两件事是矛盾的,不能一起做。
  • 因此,如果没有 sortable,dragable 和 droppable 就不能工作?
  • @Nasheia 在这种情况下他们不能。我认为您需要获取有关 jQuery-UI 可排序的更多信息。在一般情况下与 sortable 不同。
  • 是否可以使用触摸移动来防止在同一个列表框中排序?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多