防止儿童返回虚假

时间:2013-10-19 08:28:55

标签: javascript jquery

我想制作一个带有子菜单的菜单,我希望列表点只需点击一次,直到用户进入下一个。

我尝试使用return false,但在这种情况下,标签不再可用了。

<div id="navigation">
<ul>
    <li>corsets</li>
    <li class="active">news
        <ul>
            <li><a href="index.php">blablaba</a></li>
            <li><a href="index.php">blubbblubb</a></li>
        </ul>
    </li>
    <li>person
        <ul>
            <li><a href="person.php">blablaba</a></li>
            <li><a href="person.php">blubbblubb</a></li>
        </ul>
    </li>
    <li>contact</li>
</ul>
</div>

和javascript:

$("#navigation li").click(function(evt){

    if($(this).hasClass("active")) {
        return false;
    }

    $(this).addClass('active'); 
});

如果用户点击下一个菜单点,那么之前的菜单点可以再次点击,我会在以后的功能中删除.active。这只是一个片段......

1 个答案:

答案 0 :(得分:0)

这可能看起来很愚蠢但你可以使用:

$('#navigation li').click(function(evt) {
  $(this).toggleClass('active');
});

如果不存在,则添加它,如果不存在则将其删除。您也可以使用:

$(this).html($(this).text);

如果你想删除超链接(假设你的格式不是基于它们,在这种情况下永远不要)。