【问题标题】:Angular ui-sortable not working on mobile devicesAngular ui-sortable 不适用于移动设备
【发布时间】:2016-09-22 12:32:42
【问题描述】:

我目前正在开发一个包含一些测试的AngularJS 应用程序。在其中一些我有一个列表,用户必须通过拖放正确排序。

我正在使用angular-ui-sortable 来实现这一点。在 PC 和笔记本电脑上完美运行。当用户在移动设备上时,问题就出现了,然后它就停止了工作。

我可以想象它与手机上的垂直滚动冲突,还是我完全错了?有没有人也遇到过这个问题并提出了解决方案?或者可能会为我指明正确的方向,我将不胜感激。

HTML(如果需要我的 html)

<ul ui-sortable ng-model="sequence" class="list-group list-group-lg list-group-sp">
    <li ng-repeat="choice in choices" class="list-group-item" draggable="true">
        <h5>{{choice.name}}</h5>
    </li>
</ul>

【问题讨论】:

  • 嘿@Backer,你找到解决方案了吗?

标签: javascript jquery angularjs jquery-ui angular-ui-sortable


【解决方案1】:

根据文档和在 github repo 上打开的问题,您可以添加 jquery-ui 来解决此问题。您可以从项目 README 中查看此 pen 以供参考。

这是笔上使用的代码:

HTML

 <div class="floatleft">
    <ul ui-sortable="sortableOptions" ng-model="list" class="list">
      <li ng-repeat="item in list" class="item">
        {{item.text}}
      </li>
    </ul>
  </div>

控制器

  $scope.sortableOptions = {
    update: function(e, ui) {
      var logEntry = tmpList.map(function(i){
        return i.value;
      }).join(', ');
      $scope.sortingLog.push('Update: ' + logEntry);
    },
    stop: function(e, ui) {
      // this callback has the changed model
      var logEntry = tmpList.map(function(i){
        return i.value;
      }).join(', ');
      $scope.sortingLog.push('Stop: ' + logEntry);
    }
  };

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-08
    • 1970-01-01
    • 2015-11-15
    • 2016-11-02
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多