Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在右键单击中将类添加到span,并在右键单击另一个类时将其删除_Javascript_Jquery_Css - Fatal编程技术网

Javascript 在右键单击中将类添加到span,并在右键单击另一个类时将其删除

Javascript 在右键单击中将类添加到span,并在右键单击另一个类时将其删除,javascript,jquery,css,Javascript,Jquery,Css,我有一个类似于图片的层次树视图,它是用ulli实现的 我想在右键单击中将类添加到span,并在右键单击另一个节点时将其删除。 我有一个右键单击功能,并将以下代码放在上面: $('.SelectedNode').removeClass('SelectedNode'); target.addClass('SelectedNode'); 但它不起作用 <ul class="treeView"> <li level="1" id="1">

我有一个类似于图片的层次树视图,它是用
ul
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>

你能帮帮我吗?

我不知道为什么在你的情况下它不起作用。就我而言,它起作用了。。你可以看到小提琴:


您试图在
函数RightClick()
中的何处添加或删除类?这里的
菜单是什么?@Sac,是的,在函数RightClick()中。@gurupasad Rao,一个用于保留李的id的变量。我再次测试了它。当我右键点击span,但当我从菜单中选择任何东西时,我的类被删除了。
$(document).bind('contextmenu', function (e) {
            var target = $(e.target);
            if (target.is(".treeView li span")) {
                RightClick(target, e);
                return false;
            }
        });

    function RightClick(target, e) { 
        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"
        });
    }
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"
    });
}