使用Yahoo API拖放包含链接锚点的容器

时间:2012-05-15 14:39:29

标签: javascript drag-and-drop yui draggable yahoo

我修改了优秀的Yahoo示例以允许拖放div容器。 我基本上只是将代码中对“ul”和“li”的所有引用更改为div容器的类。

我想允许在图库中重新排序图像。

如果div容器不包含链接,我可以很好地重新排序div容器。 我如何让这些div可以拖动?

问题几乎与从yahoo示例添加链接锚点相同 http://yuilibrary.com/yui/docs/dd/list-drag.html

<div id="play">
    <ul id="list1">
        <li class="list1"><a href="#">Item #1</a></li>
        <li class="list1"><a href="#">Item #2</a></li>
        <li class="list1"><a href="#">Item #3</a></li>
        <li class="list1"><a href="#">Item #4</a></li>
        <li class="list1"><a href="#">Item #5</a></li>
    </ul>
</div>

我相信列表项在这种情况下也不会被拖动。

所以我的代码看起来像这样:

<div class="alt1" style="padding:6px;" width="100%" align="center" id="play">
    <div style="width:162px; height:166px; margin:5px; float:left" class="list1">
        <a href="album.php?pictureid=147828"><img src="/123.jpg" alt="" border="0" style="padding:6px;" width="130" height="130" /></a>
    </div>
    <div style="width:162px; height:166px; margin:5px; float:left" class="list1">
        <a href="album.php?pictureid=147828"><img src="/123.jpg" alt="" border="0" style="padding:6px;" width="130" height="130" /></a>
    </div>
</div>

如果我添加链接(如上所述),我只能通过填充拖动div容器。 如果没有链接,我可以将图像拖到任何地方。

1 个答案:

答案 0 :(得分:0)

我在这里写了一个更完整的答案:Reorder image gallery

简而言之,锚标记默认不是有效的拖动句柄。您可以使用removeInvalid:

更改此设置
dragInstance.removeInvalid('a');