javascript - 使用克隆时可拖动/可放置从原始元素获取数据/属性

标签 javascript jquery jquery-ui jquery-ui-draggable jquery-ui-droppable

我正在使用 jQueryUI Draggable/droppable 将行从一个表拖动到另一个表。我正在使用 helper: 'clone' 并且很难从正在拖动的原始项目中获取任何数据/属性。这是一个 jsfiddle 来更好地说明:

https://jsfiddle.net/e2ter0a4/8/

当表格单元格被拖放到可放置区域时,我试图从表格单元格中获取 data-id 属性,但我无法这样做...

注意:我试图通过 jQueryUI 来做到这一点,而不必在拖动开始之前跟踪最后单击的单元格或其他一些自定义解决方案(我已经实现了类似的解决方法,只是想知道如果有更简单/更干净的解决方案)。

最佳答案

您可以使用 ui 参数来获取它。 ui.draggable 获取您正在拖动的元素。来自文档:

draggable
Type: jQuery
A jQuery object representing the draggable element.

试试这个:

$("#droppable").droppable({
    drop: function(event,ui){
    //get data-id from original td
    console.log(ui.draggable[0].getAttribute("data-id"));
  }
});

JQuery UI Droppable documentation

Here is a fiddle

关于javascript - 使用克隆时可拖动/可放置从原始元素获取数据/属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49263945/

相关文章:

javascript - 检测来自不同 DOM 元素的数据变化

javascript - Jquery 滑动开关 : Slide Button with Panel

javascript - scrollTop() 的公认标准是什么?

Javascript 自定义事件 - 触发所有监听器

javascript - 如何从 DOM 元素动态禁用弹出窗口?

javascript - 连接正则表达式

javascript - Jquery resizable auto resize 父级

javascript - jQuery UI - 放置的元素 -> 从哪个 div 中拖动

javascript - 谷歌图表 : vary colors based on names in linechart

javascript - 使用 Projection 在 Three.js 中将世界坐标转换为屏幕坐标