Lorsque vous clonez un objet déplaçable dans l'interface utilisateur jQuery, comment pouvez-vous transférer les données et les événements vers le nouvel élément?

J'ai un élément déplaçable avec le helper: 'clone' ensemble, mais quand il les clones de l'élément, aucun des data() ou des événements sont persistants dans l'élément nouveau.

J'ai essayé un certain nombre de moyens pour remettre en place le data()mais je n'arrive pas à sélectionner l'élément nouveau, ainsi que l'ancien élément dans la même instruction.

Par exemple, je peux sélectionner l'élément initial dans le déplaçable stop() événement:

$blah.draggable({
    helper: 'clone',
    stop: function(ev, ui) {
        var oldData = $(ev.target).data('blah');
    }
});

Et je peux également obtenir l'élément nouveau dans la droppable drop() événement:

$blah.droppable({
    drop : function(ev, ui) {
        var $newElement = ui.draggable;
    }
});

Mais je ne peux pas trouver un moyen de faire les deux dans le même cas.

Ce que je voudrais faire est en quelque sorte un transfert de données, par exemple:

$newElement.data('blah', $oldElement.data('blah'));

Ou autrement rendre les données persistantes, comme vous le pouvez avec $blah.clone(true);

source d'informationauteur Jon Raasch