You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在点击浏览器返回按钮回到上一页时移除jQuery添加的类?

浏览器返回时移除jQuery添加类的实现方案

核心依赖浏览器原生的popstate事件,该事件会在用户点击浏览器前进/后退按钮、调用history.back()/history.forward()等历史导航操作时触发,监听该事件执行移除类逻辑即可。

基础实现代码

window.addEventListener('popstate', function() {
  // 替换为实际目标元素选择器和要移除的类名
  $('.target-element').removeClass('custom-added-class');
});

兼容往返缓存(bfcache)的优化方案

部分浏览器会将页面存入往返缓存,点击返回时直接从缓存读取页面,可能出现popstate事件不触发的情况,可额外监听pageshow事件做兼容:

// 监听历史导航操作
window.addEventListener('popstate', removeTargetClass)
// 监听页面从缓存恢复的场景
window.addEventListener('pageshow', function(e) {
  // e.persisted为true时说明页面从往返缓存加载
  if (e.persisted) removeTargetClass()
})

// 封装移除类的公共方法
function removeTargetClass() {
  $('.target-element').removeClass('custom-added-class');
}

注意事项

  • 请根据实际业务替换代码中的元素选择器和类名
  • 如果仅在特定场景下需要移除类,可在removeTargetClass方法中增加状态判断逻辑,避免误操作
  • 单页应用项目可将该逻辑和路由守卫结合,减少全局监听的冗余执行

内容的提问来源于stack exchange,提问作者wcodavid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 14:24:02