在Firefox中的后退按钮上恢复对象类
-
我有一张表格。 最初,输入元素具有“未填充”类。 填写表单后,我动态删除该类。
-
表单已提交,并且有一个重定向到另一个页面。
-
我单击“后退”按钮并返回原始表单,但该元素缺少“未填充”类。
这在IE8中不是问题。 我尝试添加这个jQuery调用,但是当通过后退按钮到达页面时它不会被执行:
$('#my_input').hasClass('unfilled')
谢谢!
编辑:上面发布了错误的代码行,抱歉。 应该:
$(document).ready(function() { $('#my_input').addClass('unfilled')
Firefox维护一个名为bfcache的东西( 在这里阅读更多 ),它基本上将页面的整个状态缓存在内存中,并在你返回时恢复它。 onload
脚本不会再次执行,并且元素保持与之前相同的状态。 您可以通过向页面添加虚拟onunload
处理程序来禁用此行为。
当你回去时Firefox会保留状态,这对于DHTML繁重的页面来说非常方便(例如,如果你生成了一个对话框,当你回去时该对话框仍然存在)。 您只需在代码中考虑到这一点; 例如,您可以尝试添加一个onready处理程序,为所有输入元素添加“未填充”类,例如。
$(function() { $("INPUT").addClass("unfilled"); });