随着文本输入的变化更新URL哈希的jQuery插件

时间:2013-04-05 21:26:47

标签: javascript jquery jquery-plugins hashtag

当用户在文本输入中键入文本时,是否有jQuery插件会更新页面的URL哈希值?

我知道这很简单,但我正在寻找一个“智能”的,例如Google即时搜索或caniuse.com,它不会更新每个keyup()事件的哈希值,但是当用户在给定的时间段内停止输入或文本输入模糊时。

我也知道我可以自己坐下来写这个插件,就像我之前写的几个,但是我希望有人可以推荐一个已经写好的插件,所以我不需要重新发明轮子。

感谢您的时间。

2 个答案:

答案 0 :(得分:2)

没那么难。 未经测试的代码:

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;
}

演示:http://jsfiddle.net/vent6/show/

代码:http://jsfiddle.net/vent6/

答案 1 :(得分:0)

检查Underscore库的debounce方法(就此而言lodash)

http://underscorejs.org/#debounce