javascript - 重定向到另一个页面时如何在链接或 li 上设置/保留 'active' 类?

标签 javascript c# jquery asp.net-mvc

在我的 View 中,我有导航,但问题是当我单击链接并将我重定向到该页面时,它会失去事件类,并且再次成为事件的主页。谁能帮助我或为我指明正确的方向!
提前致谢。

查看:

<!-- Side Navbar -->
  <nav class="side-navbar shrinked">

      <!-- Sidebar Navidation Menus-->
      <ul class="list-unstyled">
          <li class="active"><a href="/User/Home"> <i class="icon-home"></i>Home </a></li>
          <li><a href="/User/AddEmployee"> <i class=" icon-grid"></i>EMP </a></li>
          <li><a href="/User/AddUser"> <i class="fa fa-bar-chart"></i>User </a></li>
      </ul>

  </nav>

JavaScript:

<script>
    $(function () {

        $('nav.side-navbar ul li a').on('click', function () {
            $(this).parent().addClass('active').siblings().removeClass('active');
        });


    });
</script>

最佳答案

当您加载新页面时,当前页面中的所有代码都会消失,并且您拥有的所有脚本将在新页面上再次运行。

您需要将页面的 url 与页面加载时的链接 url 进行比较。

尝试以下操作:

$(function() {
  $('nav.side-navbar ul li a').each(function() {
    var isActive = this.pathname === location.pathname;
    $(this).parent().toggleClass('active', isActive);
  });
});

关于javascript - 重定向到另一个页面时如何在链接或 li 上设置/保留 'active' 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51794013/

相关文章:

javascript - Laravel 5.3 上带有 javascript x-editable 的 TokenMismatchException

javascript - 是否可以获取 "current"或 "last"事件的事件对象,而不将其作为处理程序中的参数接收?

javascript - CSS HTML 最后一个 child 不工作?

javascript - 如何使用 React.js Flux 架构和 McFly 中的操作处理 API 调用?

javascript - Parse Cloud 代码 - 使用关系数据嵌套多个查询

c# - C#获取上一页URL的方法

c# - 来自 NuGet 的 Unity Bootstrapper 在 App_Start 上抛出错误

c# - ASP.NET Core多个dbcontext无法添加迁移

jquery - Ajax 重定向与 http.StatusOK 由 ajax 错误处理且未被重定向

javascript - Codeigniter 中带有选择框的 Ajax