2009-11-23 13 views
1

J'utilise YUI3 et j'ai essayé de faire <tr> étiquettes à l'intérieur d'une table draggable sans chance. J'ai trouvé que je peux faire glisser <div> nœuds autour, mais pour une raison quelconque, je ne peux pas faire glisser un <tr>. Cela ne devrait pas être une limitation, j'ai trouvé des exemples de YUI2 où cela est fait, mais le code est complètement différent de YUI3 et je ne peux pas le comprendre.Comment faites-vous un dragable <tr> en utilisant YUI3?

Est-ce que quelqu'un sait si vous pouvez faire glisser <tr> nœuds dans YUI3, et comment faire?

Voici mon code:

YUI({combine: true, timeout: 10000}).use("dd-drop", "dd-constrain", "node", function (Y) { 
    var drags = Y.Node.all('#draftable-players tr.drag'); 
    drags.each(function(v, k) { 
     var dd = new Y.DD.Drag({ 
      node: v, 
      dragMode: 'intersect' 
     }).plug(Y.Plugin.DDConstrained, { 
      constrain2node: '#draft' 
     }); 
     dd.on('drag:end', function(e) { 
      e.preventDefault(); 
     }); 
    }); 
}); 

Et le code HTML correspondant:

<div id="draft"> 

<table id="draftable-players"> 
<tr class="drag"><td>some stuff</td></tr> 
<tr class="drag"><td>some more stuff</td></tr> 
</table> 

<table> another table, i'm trying to drag <tr>s from the other one to this one 
</table> 

</div> 

Toute aide serait appréciée. Merci!

Répondre

1

Cette question ne suscitait pas trop d'intérêt, mais je pensais que j'y répondrais aussi bien au cas où quelqu'un viendrait dans le futur.

J'ai trouvé que vous ne pouvez pas faire glisser <tr> éléments entre deux tables, seulement dans la même table - une inspection plus poussée des exemples YUI2 que j'ai mentionnés ci-dessus faisaient exactement cela, en faisant glisser dans une table donnée.

Depuis lors, j'ai converti mes tables en <div> éléments et les stylés pour ressembler à un <table> en utilisant CSS, et maintenant je peux faire glisser d'une table à l'autre. Si quelqu'un est curieux de voir du code pour glisser-déposer, consultez les documents de YUI3: here.