gpt4 book ai didi

javascript - jQuery/backbone.js - 延迟函数调用

转载 作者:搜寻专家 更新时间:2023-11-01 04:44:38 28 4
gpt4 key购买 nike

我有一个 #search 元素,当 keyup 事件发生时应该触发一个函数。只有在设定的时间内(例如 500 毫秒)未发生 keyup 时,才应触发此函数。这将防止搜索结果更新按下的每个字母。问题是使用 backbone.js,我的事件在一个散列中,适用的看起来像:

'keyup #search' : 'setSearch'

keyup 事件发生时调用 setSearch() 函数。我现在还不太清楚如何处理它。我已经尝试了多种方法,但没有什么可以在函数结束后维持计时器。

我有这样的东西:

setSearch: function(event) {
var timer = window.setTimeout( function() {
// run function here
alert('fired');
}, 500);
},

而不是 alert('fired'),我将运行我自己的函数。我明白为什么这段代码不起作用(为发生的每个 keyup 事件设置一个计时器。但我仍然不清楚我还能尝试什么。

最佳答案

你要找的其实是underscore.js提供给你的函数(Backbone的需求)

 setSearch: _.throttle(function() {
//Do Stuff
}, 500),

简而言之,这将返回一种新形式的匿名函数,每 500 毫秒只能调用一次。您可能需要根据需要调整时间。

更多信息: http://documentcloud.github.com/underscore/#throttle

关于javascript - jQuery/backbone.js - 延迟函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6756381/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com