2010-12-07 32 views
5

je traîne des éléments d'une liste non ordonnée à l'autre:jQuery draggable/largable: l'accès à l'élément d'origine

$('ul#drag li').draggable({ helper: 'clone' }); 
$('ul#drop').droppable({ 
    drop: function (event, ui) { 
     ui.draggable.sourceElement.css(... ...); 
    } 
}); 

Je veux marquer déjà traînés éléments dans la liste des sources (mais permettent encore en les faisant glisser) , Comment puis-je y accéder via la chaîne jQuery?

Je suppose que je peux définir id attribut sur l'élément traîné, et lors de la suppression, l'élément cloné aurait le même id, que je peux utiliser pour trouver l'original, mais je suis sûr qu'il ya une solution plus agréable.


Répondre

6

Je me demande pourquoi je ne l'ai pas remarqué que les travaux suivants, la première fois que je l'ai essayé:

ui.draggable.css('whatever'); 

Il est même documented:

ui.draggable - élément draggable courant , un objet jQuery.

+1

la question intéressante est: comment supprimer le style lorsque l'objet est déplacé hors de la cible à nouveau ... – xtofl

+0

@xtofl: je 'data()' à stockez l'ID de l'élément source sur l'événement de suppression et, lorsque vous faites glisser l'élément hors de la deuxième liste (retour au premier), utilisez ces données stockées pour trouver l'original ... –

5

e.target fait référence à l'élément d'origine

+0

$ (e.target) .method() = vous faites avec htmlnode –