我想从所有childelements中删除类“活动”,并向一个childelement添加“活动”,但是当我使用event.preventDefault时,如果我删除了event.preventDefault,则该元素中的链接将不再起作用,addClass将只在很短的时间内工作,它将返回默认的“活动”类。 HTML代码:
<div id="menubar">
<ul class="nav navbar-nav">
<li class="active"><a href="">m1</a></li>
<li ><a href="/something/">m2</a></li>
<li ><a href="/anotherThing/">m3</a></li>
<li ><a href="#aboutUs">m4</a></li>
<li ><a href="">m5</a></li>
</ul>
</div>
和JavaScript:
$(document).ready(function(){
$("#menubar li").click(function(e) {
e.preventDefault();
$("#menubar li").removeClass("active")
$(this).addClass("active")
});
})
我该怎么做才能启用链接?
答案 0 :(得分:0)
如果你在.Net中这样做,你可以使用母版页中的菜单对象创建导航栏,并将其添加到后面的代码中
string ThisPage = Page.AppRelativeVirtualPath;
foreach (MenuItem item in Menu1.Items)
{
if (item.NavigateUrl == ThisPage)
{
item.Selected = true;
item.Selectable = true;
}
}
foreach (MenuItem item in MenuAdmin.Items)
{
if (item.NavigateUrl == ThisPage)
{
item.Selected = true;
item.Selectable = true;
}
}
答案 1 :(得分:0)
你需要后端来设置它才能“坚持”。否则,在链接后重置javascript。