如何使用jquery ui draggable仅在嵌套的ul标签内拖动子元素

时间:2013-12-30 06:34:00

标签: jquery jquery-draggable jquery-droppable

My list is something like this
<div id="jqxTree">
    <ul>
        <li>Parent1
            <ul>
                child1
            </ul>
        </li>
        <li>Parent2
            <ul>
                child2
            </ul>
            <ul>
                child2.1
            </ul>
        </li>
    </ul>
</div>

当我使用jquery draggable拖动整个列表。如何只拖动child1,child2,child2.1元素。为了概括我想只拖动里面的li里面的li元素..

我尝试使用下面的功能,但是在鼠标悬停时,元素会被隐藏

$('#jqxTree').delegate('li li', 'mouseover', function () {
    $(this).draggable({
        revert: true,
        revertDuration: 0
    });
}); 

1 个答案:

答案 0 :(得分:4)

根据jQuery API页面:

  

从jQuery 1.7开始,.delegate()已被.on()方法取代。

Fiddle Demo

jQuery的:

$(function () {
    $('#jqxTree').on('mouseenter mouseover', 'li > ul', function () {
        $(this).draggable({
            revert: true,
            revertDuration: 0
        });

    });
});

在CSS中,在父元素和子元素之间使用>

您还有li li而不是li ul