你如何使用YUI3进行拖动?

时间:2009-11-23 10:14:02

标签: javascript yui draggable drag

我正在使用YUI3而且我一直在尝试在一张没有运气的桌子内制作<tr>标签。我发现我可以拖动<div>个节点,但出于某种原因我无法拖动<tr>。它不应该是一个限制,我发现YUI2的例子已经完成,但是代码与YUI3完全不同,我无法解决这个问题。

有谁知道你是否可以在YUI3中拖动<tr>个节点,以及如何做到这一点?

这是我的代码:

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();
       });
    });
});

相关的HTML:

<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>

任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:1)

这个问题没有引起太多兴趣,但我想我也会回答它,以防万一有人在将来遇到这个问题。

我发现你不能在两个表之间拖动<tr>元素,只能在同一个表中 - 进一步检查我上面提到的YUI2示例正是这样做,在给定的表中拖动。

我已经将我的表格转换为<div>元素,并使用CSS将它们设置为<table>,现在我可以从一个'table'拖到另一个'table'。如果有人想要看一些拖放代码,请查看YUI3的文档here