ng单击不起作用的dragula拖放元素



使用dragula插件(Angular 1)链接

ng-单击不起作用 在 li 元素上移动(拖放到另一个 ul)

<ul dragula='"second-bag"'>
   <li ng-click="fun()">Item One </li>
   <li ng-click="fun()">Item Two</li>
   <li ng-click="fun()">Item Three</li>
   <li ng-click="fun()">Item Four</li>
</ul>
<ul dragula='"second-bag"'>
   <li ng-click="fun()">Item One </li>
   <li ng-click="fun()">Item Two</li>
   <li ng-click="fun()">Item Three</li>
   <li ng-click="fun()">Item Four</li>
</ul>
app.controller('ExampleCtrl', ['$scope', function ($scope) {
   $scope.fun = function(){
          alert('test');
   } 
}]);

这可能是 dragula 的预期行为,为了拖动您实际单击它的元素。


重要的部分是为什么要侦听dragula列表元素的单击事件?如果答案是操纵该特定元素或执行其他操作,dragula 会为您提供一系列机会。

<div dragula='"sixth-bag"'></div>
<div dragula='"sixth-bag"'></div>
app.controller('MuchExampleCtrl', ['$scope', 'dragulaService',
  function ($scope, dragulaService) {
    dragulaService.options($scope, 'sixth-bag', {
      moves: function (el, container, handle) {
        return handle.className === 'handle';
      }
    });
  }
]);

在此示例中,您将更改"handled"元素的类名。与此类似,您可以将此方法用于其他可能的结果。

链接:

  • http://bevacqua.github.io/angular-dragula/
  • https://github.com/bevacqua/dragula#optionsmoves

同样作为替代方案,您可能希望查看服务ngDraggable以获取更多"Angular1样式"语法。

  • ng可拖动:https://github.com/fatlinesofcode/ngDraggable

最新更新