javascript - 重置复选框选中状态从历史记录中返回

标签 javascript jquery html css checkbox

在下面的示例中,我使用复选框制作纯 CSS 下拉导航,也可在 jsFiddle example 中使用.

打开那个 fiddle ,点击“菜单”,点击“链接 1”,然后点击浏览器工具栏上的“后退”按钮,您可以看到复选框保持选中状态,因此导航仍然打开。

我的问题是 - 从浏览器历史记录返回时是否可以自动将该复选框重置为未选中状态?有什么建议吗?我需要使用 Javascript/jQuery 吗?

HTML

<label for="m">Menu</label>
<input id="m" type="checkbox">
<nav id="n">
  <ul>
    <li><a href="//example.com">Link 1</a></li>
  </ul>
</nav>

CSS

#n {
  display: none;
}
#m:checked ~ #n {
  display: block;
}

最佳答案

无需 JS 或 CSS,只需将 autocomplete="off" 添加到复选框即可。这将阻止浏览器缓存“已检查”状态。

示例:https://jsfiddle.net/6g5u8wkb/

此外,如果您有多个复选框,我相信您可以将 autocomplete="off" 添加到 form 元素以将效果应用于所有输入字段。

关于javascript - 重置复选框选中状态从历史记录中返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37933043/

相关文章:

javascript - REST 对 SharePoint 值求和,无需 else if

javascript - Angular 和 ng-repeat 指令

javascript - jQuery $ 是如何初始化的?它是如何在全局范围内使用的?

javascript - 如何返回数组中接下来的 x 个项目?

javascript - JQuery 根据属性的值设置 <select> 索引

javascript - 如何使用 jQuery 将 HTML 中的 <li> 元素替换为不同的元素?

javascript - 逐步增强表格(提交)

javascript - 将字符串元素传递给数据键

javascript - 继承div高度

javascript - 错误 : Object doesn't support property or method 'css'