Draggable/Droppable 使用克隆时从原始元素获取 data/attr

Draggable/Droppable get data/attr from original element when using clone

我正在使用 jQueryUI draggable/droppable 将行从一个 table 拖到另一个。我正在使用 helper: 'clone' 并且很难从正在拖动的原始项目中获取任何 data/attributes 。这是一个 jsfiddle 可以更好地说明:

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

我试图从 table 单元格中获取 data-id 属性,但我无法这样做...

注意: 我正在尝试通过 jQueryUI 执行此操作,而不必在拖动开始之前跟踪最后单击的单元格或其他一些自定义解决方案(我已经有一个实施了类似的解决方法只是想知道是否有 easier/cleaner 解决方案)。

可以使用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