在右键单击中添加要跨越的类,并在右键单击另一个时将其删除

时间:2015-12-16 06:42:38

标签: javascript jquery css

我有一个层次树视图,就像图片一样,用<ul id="mydemo1" style="text-align:left;"> </ul> ul实现。

enter image description here

我想在右键单击时将类添加到li,并在右键单击另一个节点时将其删除。 我有一个右键单击功能,并将此代码放在其上:

span

但它不起作用。

        $('.SelectedNode').removeClass('SelectedNode');
        target.addClass('SelectedNode');

我的右击功能:

<ul class="treeView">
    <li level="1" id="1">
        <i class="CollOpen"></i><span>a 0</span><i class="MobileMenu"></i><ul class="CollList">
            <li level="2" id="551">
                <i class="CollOpen"></i><span>a 1</span><i class="MobileMenu"></i>
                <ul class="CollList">
                    <li level="3" id="553">
                        <i class="CollOpen"></i><span>a 1-1</span><i class="MobileMenu"></i>
                        <ul class="CollList">
                            <li level="4" id="556" class="lastChild"><span class="SpanChart">a 1-1-1</span><i class="MobileMenu"></i></li>
                        </ul>
                    </li>
                    <li level="3" id="554"><span class="SpanChart">a 1-2</span><i class="MobileMenu"></i></li>
                    <li level="3" id="555" class="lastChild"><span class="SpanChart">a 1-3</span><i class="MobileMenu"></i></li>
                </ul>
            </li>
            <li level="2" id="552" class="lastChild"><span class="SpanChart">a 2</span><i class="MobileMenu"></i></li>
        </ul>
    </li>
</ul>

请问你能帮帮我吗?

1 个答案:

答案 0 :(得分:1)

我不知道为什么它不适合你的情况。在我的情况下它的工作..你可以看到小提琴:
Fiddle

function RightClick(target, e) { 
    $('.SelectedNode').removeClass('SelectedNode');
    target.addClass('SelectedNode');

    menu.data('id', target.parent().attr('id'));
    menu.data('level', target.parent().attr('level'));
    $('#NodeTitle').text(target.text() + " - کد :" + target.parent().attr('id'));

    e.preventDefault();
    $(".custom-menu").finish().toggle(100).
    css({
        top: e.pageY + "px",
        left: e.pageX + "px"
    });
}