gpt4 book ai didi

javascript - setTimeout 在 jQuery 插件中不起作用

转载 作者:行者123 更新时间:2023-12-03 10:55:27 27 4
gpt4 key购买 nike

我的 jQuery 插件中的 keyup 事件附加了一些行为。除了超时后立即执行应该触发的函数之外,一切正常。

        //attach keyup event for the searchbox
self.data('gallery_searchTimeout',null); //to enable a delay on the keypress search event
$(self).find('.gallery-search').keyup(function(){

var needle = 'look for me';
var delay = 2000;

//if a timer is already set, clear it in favor of our new timer
if (self.data('gallery_searchTimeout') != undefined) clearTimeout(self.data('gallery_searchTimeout'));

self.data('gallery_searchTimeout', setTimeout((self.data('search')(self,needle)), delay) );
});


var search = function(self,needle) {

console.log('search called with needle: '+needle);

};
self.data('search',search);

最佳答案

将函数传递给 setTimeout 而不是调用它。

改变

self.data('gallery_searchTimeout', setTimeout((self.data('search')(self,needle)), delay) );

self.data('gallery_searchTimeout', setTimeout(self.data('search').bind(null,self,needle), delay) );

self.data('gallery_searchTimeout', setTimeout(function(){
self.data('search')(self,needle);
}, delay) );

关于javascript - setTimeout 在 jQuery 插件中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28279346/

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