首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dragula drop事件上的dragula传递类

Dragula drop事件上的dragula传递类
EN

Stack Overflow用户
提问于 2016-08-25 20:27:22
回答 3查看 3.1K关注 0票数 1

所以我有一个可以拖到多个列的对象,我需要让它在被拖放时,该对象中的一个变量会根据它是什么列而更新,因为另一个对象会操作该变量以进行显示。我无法从标记中获取(ondrop)事件,并且dragula事件侦听器的值没有传递给我任何允许我获取对象的信息。有没有办法强制事件侦听器传递对象而不是html标记?或者是我遗漏了什么方法?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-09-14 23:59:54

我认为你可以在drop上更新数据。我是这样做的:

代码语言:javascript
复制
var drake = dragula({...});

function updateMyObject(elementId, listId) {
  // update the object here, for example:
  if (listId === 'firstList') {
    // use the element id to find the item in your object and update it
    myDataObject.filter(function(x) {
      return x.id === elementId;
    })[0].propertyToUpdate = listId;
  }
}

drake.on('drop', function(el, target, source, sibling) {
  var elementId = el.id;
  updateMyObject(el.id, target.id);
});

这支笔可能会有帮助。我将Dragula和Angular.js混合在一起进行数据建模。该事件需要在删除时更新数据模型。http://codepen.io/chris22smith/pen/37459a002cbe6b6cd37aa5e927698fba

票数 1
EN

Stack Overflow用户

发布于 2016-09-01 21:14:29

我找到的唯一解决方案(除了使用不同的拖放模块)是在用户关闭页面或转到其他页面时保存顺序。或者,由于drop事件是可捕获的,但似乎不能提供类对象,因此您仍然可以检测到何时发生更改并让它更新所有内容,但是这不是最好的解决方法,因为它比更新一个变量对系统资源的消耗要大得多。

票数 1
EN

Stack Overflow用户

发布于 2016-10-23 06:50:31

将order #作为属性传递到元素中,这样就可以在drake.on函数中访问它。有了oder#和ID,您应该能够弄清楚如何处理它,并在后端进行正确的更新。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39145312

复制
相关文章

相似问题

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