jQueryUI +触摸打孔:sortable.update()

时间:2019-02-28 22:12:11

标签: jquery jquery-ui jquery-ui-touch-punch

我的应用程序允许您使用jQueryUI.Sortable()的拖放功能来保存列表的顺序。为了在移动设备(Android,Chrome)上实现触摸事件,我添加了TouchPunch并且拖动部分有效。

.update()事件在移动设备上不起作用。当物品被放下并重新排序时,我会进行AJAX调用以将订单保存在服务器上。

在移动设备上,此呼叫永远不会发生。在台式机上,它可以正常工作。

这是JS:

$(document).ready(function() {

  // Configure the sortable list
  $( "#sortable" ).sortable({
    axis: "y",
    cursor: "move",
    opacity: 0.8,
    scroll: true,
    containment: "parent",
    update: function( event, ui ) {
      var new_pri = ui.item.index() + 1
      var item_id = ui.item.data("itemid")
      var post_url = "/item/"+item_id+"/insert"
      $( "#status_"+item_id ).toggleClass("fas fa-cog fa-spin")
      $.ajax({
        type: "POST",
        url: post_url,
        data: {"new_pri": new_pri},
        success: function(data) {
           $( "#status_"+item_id ).toggleClass("fas fa-cog fa-spin")
        },
        dataType: "html"
      })
    },
  });
  $( "#sortable" ).disableSelection();
  // End sortable list config

});

我无法找到任何文档来将touch-punch hack绑定或别名化到jquery函数。有人知道任何解决方法吗?

P.S。老实说,我认为任何.sortable()选项都不起作用(包含性,不透明性等),但是以后可以处理。现在,我只是想让“更新”正常工作。

0 个答案:

没有答案