这是我的问题:使用自动完成 jQuery 插件,我想在用户通过围绕
$('#query1').autocomplete({
serviceUrl:'/actions/autocomplete?population=salon',
minChars:3,
maxHeight:300,
width:200,
clearCache:true,
onSelect: function(suggestions,data){ $(".btn1").attr("href", "${pageContext.request.contextPath}/actions/espaceClients?participantId=" + data) }
});
用类似的东西
var search = false;
$('#query1, #query2, #query3').keyup(function(){
if (!search){
search = true;
}
if (search) {
search = false;
autocompleteThem();
}
});
你可以看到,上面的代码很愚蠢,但它有点显示了我正在尝试做的事情。
简单来说,如果用户在一段时间内没有输入任何其他内容,那么您可以调用自动完成。
我希望我说的很清楚,因为我的脑子一团糟...
最佳答案
使用 deferRequestBy
option在那个插件上,像这样:
$('#query1').autocomplete({
serviceUrl:'/actions/autocomplete?population=salon',
minChars:3,
maxHeight:300,
width:200,
clearCache:true,
deferRequestBy: 200, //200ms
onSelect: function(suggestions,data){ $(".btn1").attr("href", "${pageContext.request.contextPath}/actions/espaceClients?participantId=" + data) }
});
关于javascript - 通过使用 SetTimeOut 包装它来避免多次自动完成调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2757857/