2012-07-24 3 views
3

J'essaye de faire un changement d'aide glissable basé sur le contexte où l'élément traîné est (indiquant que vous pouvez laisser tomber l'élément là en changeant l'assistant).Modifier l'assistant dragable jQuery pendant le glissement

J'ai eu deux idées dans mon esprit:

  1. DÉCLARE l'aide en fonction et retourner l'aide appropriée. Malheureusement, la fonction n'est appelée qu'une seule fois, au début du glisser.

  2. Dans l'événement de déplacement, modifiez l'assistant. Cela semble être la meilleure option. Le problème est que je ne trouve pas comment changer l'aide à un élément DOM spécifique (uniquement les valeurs acceptées sont « clone », « original » et une fonction.

me manque je quelque chose ou est-ce pas ? possible

Répondre

2

Vous pouvez accéder à l'aide dans l'événement de glisser.

$('#list').draggable({helper:'clone'}); 

$("#list").bind("drag", function(event, ui) { 
    ui.helper.css("background-color", "red"); 
}); 

le paramètre de l'interface utilisateur fait référence à l'élément traîné ui.helper est l'instance de l'aide actuelle, Wich peut être modifié à la volée

0

Dans mon cas, le draggable était un symbole d'Adobe Edge, j'ai donc dû semer dans une classe pour l'une des «couches» que je pouvais ensuite changer en faisant glisser. Donc, quand le symbole a été créé, j'ai fait cela;

drag.$("drag_label").addClass("dragLabel"); 

Cette affectation de classe obtiendrait cloné avec l'aide (à la différence des données d'objet), puis à l'intérieur du draggable je pourrais le faire;

Questions connexes