2

编辑:我把这个问题剪掉了,然后把它放在

看看它是如何改变的原始项目而不是新项目 http://jsfiddle.net/mikkelbreum/DBG5q

看看拖动的助手是如何被改变的,但是一旦它被放下,元素就会恢复原状。 http://jsfiddle.net/mikkelbreum/dpTC8

我有一个链接到可排序列表的可拖动列表

当我从 draggable 拖动到 sortable 时,我使用了一个克隆的助手,所以原始的仍然留在 draggable 集合中。

每次我将克隆从可拖动列表拖到可排序列表时,我想给新副本一个唯一的标题(操纵它的 h2 元素)。

我找不到解决新创建元素的方法。

我尝试了两种方法:

一种是在可拖动对象的开始事件中定位助手克隆。这里的问题是,尽管助手克隆确实发生了变化,但是当它在可排序列表中创建时,该变化并没有复制到最终元素。在那里创建的新元素采用它是克隆的可拖动列表中原始元素的值。

start: function(event, ui) {

ui.helper.find('h2').text('altered');

}

当我开始拖动时,我可以在克隆上设置更改,但是当它被放到可排序的对象上时,h2 会重置为原始标题。

所以现在我尝试了一种辅助方法,我尝试在可排序的接收事件中更改新的原件:

receive: function(event, ui) {

ui.item.find('h2').text('altered');

}

这会在我从中拖动元素的列表中更改原始元素的 h2,但是在 sortable 中创建的新元素仍然是旧的原始元素。

如何定位/更改它?

4

1 回答 1

1

看来问题是由于jQueryUI BUG

另请参阅:jQuery UI Draggable/Sortable - 获取对新项目的引用

于 2011-03-19T17:21:42.833 回答