我正在用nwjs做一个例子,我正在使用angular和一个Jquery插件来自动完成一个字段,我正在使用名为" https://api.jqueryui.com/autocomplete"的插件。
代码
$("#descriptionId").autocomplete({
source: $scope.availableDescriptions,
minLength: 1,
delay: 0,
focus: function(event, ui) {
event.preventDefault();
$('#descriptionId').val(ui.item.label);
//CODE
},
select: function(event, ui) {
event.preventDefault();
$('#descriptionId').val(ui.item.label);
}
});
代码的一些描述;
Source是我从数据库加载的700多条记录的列表。
问题
如果我进入该领域,在一段时间后添加和删除文本,每次该字段开始非常慢。我正在阅读插件的文档,但我看不出有什么不对劲。奇怪的是,如果我刷新控制器,那么该字段会再次开始正常工作。
对Javascript和jquery有更多经验的人的任何帮助都可能是惊人的。
答案 0 :(得分:0)
不确定您的方案,因为影响UI的因素有很多,例如内存泄漏或渲染问题,但我建议像delay:500
(500毫秒)那样延迟一些。它会向服务器请求添加500毫秒的延迟,而不是在输入后立即发送。
答案 1 :(得分:0)
经过一些调查后,我发现stackoverflow中报告了同样的问题,答案是here