JqueryUI 自动完成错误:未捕获类型错误:对象 #Object 的属性“结果”不是函数

js

1个回答

写回答

伴你如风

2025-07-08 22:16

+ 关注

CSS
CSS

在使用 jQueryUI 的自动完成功能时,可能会遇到一个常见的错误:未捕获类型错误:对象 # 的属性“结果”不是函数。这个错误通常是由于代码中的一些问题导致的,下面将详细介绍这个错误以及如何解决它。

首先,让我们先了解一下什么是 jQueryUI 的自动完成功能。自动完成是一个非常实用的功能,它可以帮助用户在输入框中输入内容时,自动提示可能的选项。这对于用户输入长列表或者需要从数据库中获取数据的情况非常有用。

然而,有时候在我们尝试使用自动完成功能时,会遇到一个错误提示:“未捕获类型错误:对象 # 的属性“结果”不是函数”。这个错误的原因是因为我们在代码中对自动完成的回调函数(通常被称为“结果”)的定义有问题。

下面是一个例子,展示了一个基本的自动完成功能的代码:

html

<!DOCTYPE html>

<html>

<head>

<link rel="stylesheet" class="url" target="_blank" rel="nofollow noreferrer" href="/to/?target=https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.CSS">

<script src="https://code.jquery.com/jquery-3.6.0.min.JS"></script>

<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.JS"></script>

</head>

<body>

<label for="autocomplete">搜索:</label>

<input id="autocomplete">

<script>

$(function() {

var avAIlableTags = ["苹果", "香蕉", "橙子", "梨子", "西瓜"];

$("#autocomplete").autocomplete({

source: avAIlableTags,

results: function(event, ui) { // 这里是错误的地方

console.log(ui);

}

});

});

</script>

</body>

</html>

在上面的代码中,我们创建了一个输入框,并使用 jQueryUI 的自动完成功能。我们定义了一个名为 avAIlableTags 的数组作为自动完成的数据源,并将其传递给了 source 选项。

然而,我们在定义 results 选项的回调函数时,犯了一个错误。我们错误地将回调函数命名为 results,而实际上,这个回调函数的名称应该是 response。所以,当我们尝试运行这段代码时,就会出现上面提到的错误提示。

为了解决这个错误,我们只需要将回调函数的名称从 results 修改为 response 即可。修改后的代码如下:

html

<!DOCTYPE html>

<html>

<head>

<link rel="stylesheet" class="url" target="_blank" rel="nofollow noreferrer" href="/to/?target=https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.CSS">

<script src="https://code.jquery.com/jquery-3.6.0.min.JS"></script>

<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.JS"></script>

</head>

<body>

<label for="autocomplete">搜索:</label>

<input id="autocomplete">

<script>

$(function() {

var avAIlableTags = ["苹果", "香蕉", "橙子", "梨子", "西瓜"];

$("#autocomplete").autocomplete({

source: avAIlableTags,

response: function(event, ui) { // 这里修复了错误

console.log(ui);

}

});

});

</script>

</body>

</html>

在修复了这个错误后,我们再次运行代码,就会发现自动完成功能正常工作了。现在,当我们在输入框中输入内容时,会自动提示可能的选项。

在使用 jQueryUI 的自动完成功能时,如果遇到错误提示“未捕获类型错误:对象 # 的属性“结果”不是函数”,则需要检查代码中的回调函数是否正确命名为 response。修复这个错误后,自动完成功能将能够正常工作。

希望本文能够帮助你解决 jQueryUI 自动完成错误,并顺利实现自动完成功能。如果你还有其他关于 jQueryUI 的问题,可以在评论区留言,我会尽力帮助你解决。

举报有用(4)分享收藏