Javascript 保存cookie中文本区域的值,然后重新加载页面

Javascript 保存cookie中文本区域的值,然后重新加载页面,javascript,jquery,cookies,Javascript,Jquery,Cookies,我有一些文本区域和一个表格,我想在文本区域按键后更改 $("#fioFilter").keydown(function(e){ $.cookie("fioFilter",$("#fioFilter").val()); }); $("#fioFilter").keyup(function(e){ window.location.reload(); }); 这是我的解决方案。这不是我想要的。若我按住按键一段时间,它会保存在cookies中,然后重新加载。但如果我只按一次键。它重新加

我有一些文本区域和一个表格,我想在文本区域按键后更改

$("#fioFilter").keydown(function(e){
    $.cookie("fioFilter",$("#fioFilter").val());
});
$("#fioFilter").keyup(function(e){
    window.location.reload();
});
这是我的解决方案。这不是我想要的。若我按住按键一段时间,它会保存在cookies中,然后重新加载。但如果我只按一次键。它重新加载并返回旧值。有什么问题吗?

我在Windows XP上的Opera 12.17上使用了它

这是我的解决方案:

$(文档).ready(函数()
{
var时间;
if($.cookie('fioFilter')!=null)
{
$(“#fioFilter”).focus().text($.cookie('fioFilter'));
}
$(“#fioFilter”).keyup(函数(e){
clearTimeout(时间);
$.cookie(“fioFilter”,$(“#fioFilter”).val();
time=setTimeout(函数(){$(“#fioFilter”).change();},500);
});
$(“#fioFilter”)。更改(函数(e){
window.location.reload();
});
});
我通过将
keydown
更改为
keydup
使其工作

重新加载在
change
事件上完成,该事件在500毫秒后或
失去焦点时触发。
在该值之前设置焦点,可确保提示停留在末尾。
这是一个“修复”铬只

如果存在cookie集,它将聚焦元素

您可以在此处检查代码:

注意

我知道我可以设置一个
var
并保存选择器


为了简单(和懒惰),我不会这么做。

未捕获的异常:TypeError:“$.cookie”不是一个函数
Thanx to rGraham fiddle现在工作正常,但我的问题仍然存在。尝试按住某个键一段时间,然后它将保存cookie。然后试着按一次键。它将返回旧值。奇怪的是,如果您将cookie值设置为静态值,它会正常工作:似乎in不会重新加载。哦,它会重新加载,但会在一段时间后重新加载。我要读《改变博士》。Thanx,Mant每个浏览器对
change
事件的处理方式不同,但这是最好的选择。您发表评论时,我正在编写编辑。更改事件是在“文本”元素失去焦点时触发的,而对于复选框和RadioButtonScrome和firefox,它会立即触发insted,只有在我单击其他位置时才会重新加载。注意力不集中,对吧,卢卡,所以它仍然不能正常工作。