【发布时间】:2020-02-18 20:51:42
【问题描述】:
我正在使用 jquery 自动完成 ui,试图让它在用户单击文本框时自动打开菜单。
当我在函数外使用$("#selector").autocomplete( "search" , "" ); 时,它按预期工作(当然,每次刷新只能工作一次)但是当我在函数内尝试它时,它什么也没做,我不知道为什么。
编辑:我也在与使用 jinja 的烧瓶管理员合作。
{% extends 'admin/model/list.html' %}
{% import 'admin/model/layout.html' as model_layout with context %}
{% if search_supported %}
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<input type="text" id="selector" onfocus="func()" />
<script>
$("#selector").autocomplete({
source: ['test',"test2"],
minLength: 0,
autoFocus: true,
});
$("#selector").autocomplete( "search" , "" ); //this works
function func(){
$("#selector").autocomplete( "search" , "" ); //this doesnt
}
</script>
{% endif %}
【问题讨论】:
-
JavaScript 控制台有错误吗?
-
函数定义在
$(document).ready()里面吗?内联 JavaScript 在全局范围内执行,因此无法访问嵌套函数。 -
欢迎来到 Stack Overflow!我建议确保您问题中的代码遵循常见的缩进做法。我想您会发现代码更容易让其他用户理解,并且更有可能生成有用的回复。 :)
-
我在浏览器控制台上没有错误,这与 JavaScript 不同吗?我不知道如何访问它(你的小提琴也适合我)