我想延迟ajax调用,直到悬停维持500ms
obj.hover(function(){
var t = setTimeout(function() {
ajax_search();
}, 500);
}, function(){
clearTimeout($(this).data('timeout'));
});
确实延迟了ajax,但即使我已经停止了悬停,它仍会触发。
它被用于包含大量悬停区域的地图,我想最大限度地减少对用户用较长悬停指示的ajax调用。目前它会针对每一个单独的悬停和heroku / facebook应用程序触发,并且链接的悬停正在杀死用户的响应。
答案 0 :(得分:1)
您没有在悬停目标上设置数据。您正在获取句柄(t)但在setTimeout调用之后没有执行$(this).data("timeout", t);
。