首次加载页面时,Jquery UI 自动完成功能不起作用
Posted
技术标签:
【中文标题】首次加载页面时,Jquery UI 自动完成功能不起作用【英文标题】:Jquery UI autocomplete is not working when first time page loading 【发布时间】:2019-11-05 23:11:01 【问题描述】:我的 html 页面包含一个文档搜索文本框,它会根据用户输入自动完成文档名称。文档名称通过 Ajax 调用来自服务器端脚本。以下代码运行良好,但唯一的问题是当用户打开新浏览器并输入 3 个字符的自动完成建议时未填充。如果用户输入 4 个字符它可以工作,那么用户输入 3 个字符后它也可以正常工作。
$('#global-doc-search-box').keyup(function(e)
thisObj.searchGlobalDocuments(e);
);
$("#global-doc-search-box").autocomplete(
source: [value: 'test', id: 'test', label: 'test'],
delay: 0
).autocomplete("instance")._renderItem = function(ul, item)
return $("<li></li>")
.append("<div style='background-color: #fff;display:block;min-width:200px;padding: 10px;'><a style='text-decoration: none;' href='#' target='_blank'>" + item.value + "</a></div></li>")
.appendTo(ul);
;
【问题讨论】:
【参考方案1】:我已经解决了我的问题。我刚刚删除了显式的 keyup 事件,我们不需要任何显式的 key event 监听器,好像 key event 监听是在 autocomplete 函数中隐式配置的。
【讨论】:
以上是关于首次加载页面时,Jquery UI 自动完成功能不起作用的主要内容,如果未能解决你的问题,请参考以下文章
JS或JQUERY如何判断A页面是从其他页面返回的,而不是首次加载
JQuery ajax操作,怎么让页面首次加载时就呈现所有数据
jQuery UI 自动完成 - 输入与结果集不匹配时不显示结果