javascript - 如何停止在页面重新加载时从 jQuery 函数中删除附加类

标签 javascript jquery css

我有一个标签包裹在 li 中。当用户点击时,调用 jquery 函数改变其样式

 $(".sortLabelElement").click(function () {
        $(this).addClass("ActiveSortLabel");
    });

CSS

.ActiveSortLabel{
font-weight: bold;
text-decoration: none;
background-color:#C6E035;
}

我需要将此类附加到一个标签,直到被同一个 ul 列表中的另一个 a 标签点击。我的问题是当我点击这个标签链接时,表单是发布和页面重新加载,在这种情况下我失去了 ActiveSortLabel 给定标签。

<li><a value="Recommended" class="sortLabelElement sortTag    sortClickedEvent">Our Recommendation</a></li>

本地存储

localStorage.setItem('ActiveSortLabel', $(this).attr("id"));

最佳答案

使用 session 存储而不是本地存储。

session 存储在浏览器选项卡关闭时过期。 Local Storage 将物理缓存数据存储在您的驱动器上,直到使用 JavaScript 删除或浏览器缓存被清除之前没有过期日期。

//Example below will clear once browser tab is exited.

    sessionStorage.setItem('ActiveSortLabel', $(this).attr("id"));

//仅供引用,如果用户在不关闭的情况下切换选项卡,则以下代码行将清除存储。

    $(window).blur(function(){
    sessionStorage.clear();
   })

关于javascript - 如何停止在页面重新加载时从 jQuery 函数中删除附加类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35867219/

相关文章:

html - 如何在缩放窗口时将 3 个 div 与 CSS 保持相对位置对齐

javascript - 使用 jquery 根据模式验证输入框并在出现错误时显示 div

javascript - 如何将日期转换为时间

javascript - 仅更新 Put Restify + SQLite3 上的某些字段

JavaScript:检测 CSS3 动画何时结束

javascript - 重构复杂的嵌套数组

javascript - 使用 jQuery 在 URL 末尾添加变量

php - 使用 Symfony 3,如何将只读字段显示为标签? (在 FOSUBundle 的注册表中)

css - ng-动画 : conditionally switching "back" transition (BUG? )

javascript - AngularJS - 我们可以移除/删除模块吗?