1

是否有一个 jQuery 插件可以在用户将文本输入文本输入时更新页面的 URL 哈希?

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

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

感谢您的时间。

4

2 回答 2

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/

于 2013-04-05T21:34:53.230 回答
0

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

http://underscorejs.org/#debounce

于 2013-04-05T21:40:25.830 回答