首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何禁用在ng2-dragula上拖动某些元素

如何禁用在ng2-dragula上拖动某些元素
EN

Stack Overflow用户
提问于 2016-12-14 08:18:11
回答 5查看 12.3K关注 0票数 8

我要在顶部显示名称组,并取消拖动事件。如果这个组名位于顶部,我如何禁用移动某些元素。我的代码是:

代码语言:javascript
运行
复制
dragulaService.drag.subscribe((value) => {
    console.log(`drag: ${value[0]}`);
});

我的模板:

代码语言:javascript
运行
复制
<div class='wrapper'>
  <div class='container' *ngFor='let group of groups' [dragula]='"nested-bag"'>
     <div class="center-block">Table Number : {{group.name}}</div>
    <div *ngFor='let item of group.items' [innerHtml]='item.name'></div>
  </div>
</div>
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2016-12-14 09:54:12

找出解决办法:

代码语言:javascript
运行
复制
  dragulaService.setOptions('nested-bag', {
      revertOnSpill: true,
      moves: function (el:any, container:any, handle:any):any {
        debugger
        console.log(el, container);
        return false;
      }
    });
票数 14
EN

Stack Overflow用户

发布于 2018-01-15 09:37:19

若要禁用具有特定类的拖动元素,请执行以下操作:

代码语言:javascript
运行
复制
dragulaService.setOptions('PUT_CONTAINER_NAME_HERE', {
    moves: function (el: any, container: any, handle: any): any {
        if (el.classList.contains('PUT_YOUR_CLASS_HERE')) {
            return false;
        }

        return true;
    }
});
票数 4
EN

Stack Overflow用户

发布于 2019-04-17 21:50:50

由于第2版 (2018-07-19发布),您应该使用dragulaService.createGroup()而不是dragulaService.setOptions()

代码语言:javascript
运行
复制
dragulaService.createGroup('<container-name>', {
    moves: (el, container, handle, sibling) => false
});
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41137782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档