Javascript jQuery插件在文本输入更改时更新URL哈希

Javascript jQuery插件在文本输入更改时更新URL哈希,javascript,jquery,jquery-plugins,hashtag,Javascript,Jquery,Jquery Plugins,Hashtag,有没有jQuery插件,当用户将文本输入到文本输入中时,它会更新页面的URL哈希 我知道这很简单,但我正在寻找一个“智能”的,比如Google Instant search或,它不会在每个keyup()事件上更新哈希值,而是在用户在给定时间段内停止键入或文本输入模糊时更新哈希值 我也知道我可以坐下来自己写这个插件,就像我以前写过几次一样,但我希望有人能推荐一个已经写过的插件,这样我就不必重新发明轮子了 谢谢您抽出时间。没那么难。未测试代码: 演示: 代码:检查下划线库(lodash的)的去盎司方

有没有jQuery插件,当用户将文本输入到文本输入中时,它会更新页面的URL哈希

我知道这很简单,但我正在寻找一个“智能”的,比如Google Instant search或,它不会在每个
keyup()
事件上更新哈希值,而是在用户在给定时间段内停止键入或文本输入模糊时更新哈希值

我也知道我可以坐下来自己写这个插件,就像我以前写过几次一样,但我希望有人能推荐一个已经写过的插件,这样我就不必重新发明轮子了

谢谢您抽出时间。

没那么难。未测试代码:

演示:


代码:

检查下划线库(lodash的)的去盎司方法


设置超时
绑定到
.keyup()
事件。问题解决了。@grey是的,是的,我知道这很简单。我只是想问一下。嗯。。。比我想象的还要容易,我得试试@生活在灰色中:有时我觉得自己很仁慈。正如旁注
encodeURIComponent()
更适合编码散列values@spryno724你说得对。我知道将其用于查询字符串,但我没有仔细考虑哈希。当然,您需要对
#
进行编码,因此
encodeURIComponent()
是正确的选择。修正了。谢谢你的输入,但我只是想说得具体一点,坚持使用jQuery。不需要为此引入另一个框架。在这种情况下,我在过去使用过:
var hashTO;
$('#myTextField').on('keyup', function() {
    if(hashTO !== undefined) {
        clearTimeout(hashTO);
    }
    hashTO = setTimeout(updateHash, 1000);
});

function updateHash() {
    var hashVal = encodeURIComponent($('#myTextField').val());
    window.location.hash = hashVal;
}