Javascript jQuery(…).autocomplete不是firejquery-1.10.2.js中的函数
因此,我正在开发一个MVC 5应用程序,该应用程序于2014年编写,当时使用的是较旧版本的JQuery,因此一些功能已被弃用,因此,通过使用Google Chrome的开发者工具通过F12热键,我不断收到这些控制台错误。根据这两篇SO帖子,我在Javascript jQuery(…).autocomplete不是firejquery-1.10.2.js中的函数,javascript,jquery,Javascript,Jquery,因此,我正在开发一个MVC 5应用程序,该应用程序于2014年编写,当时使用的是较旧版本的JQuery,因此一些功能已被弃用,因此,通过使用Google Chrome的开发者工具通过F12热键,我不断收到这些控制台错误。根据这两篇SO帖子,我在jqueryui之前导入了jquerylibrary: 如下所示,但这种尝试仍然无法解决问题 \u Layout.cshtml: <script src="//code.jquery.com/jquery-1.10.2.js"></scr
jqueryui
之前导入了jquerylibrary
:
如下所示,但这种尝试仍然无法解决问题
\u Layout.cshtml:
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.2/jquery-ui.js"></script>
<script src="//cdn.datatables.net/1.10.12/js/jquery.dataTables.min.js"></script>
<script type="text/javascript" src="@Url.Content("~/Content/Template/js/custom/general.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Content/Template/js/plugins/jquery.jgrowl.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Content/Template/js/plugins/jquery.alerts.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Content/Template/js/custom/elements.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Content/Template/js/plugins/colorpicker.js")"></script>
<script src="http://code.jquery.com/jquery-1.9.0.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.2.1.js"></script>
上述结果产生了:
未捕获类型错误:jQuery(…)。自动完成不是函数
HTMLDocument上的。(general.js:373)
着火时(jquery-1.10.2.js:3048)
在Object.fireWith[as resolveWith](jquery-1.10.2.js:3160)
在Function.ready(jquery-1.10.2.js:433)
在HTMLDocument.completed上(jquery-1.10.2.js:104)
我的搜索框甚至没有显示出来,我怀疑这是我不断遇到的这些错误的结果。有几件事需要纠正: 1)
然后
。不要包含jQuery两次。在所有其他脚本之前包括较新的版本,并包括一次。换句话说,删除对1.9.0的引用。然后看看你是否还有问题。包括两次可能会引起奇怪的冲突
2) 在jQuery 1.7中,
.bind
被.on
取代,在3.0中被弃用。使用上的,以获得向前兼容性和更好的功能。这是由不同版本的jQuery之间的冲突造成的。您可以尝试更改为这样的功能(从):
然后
。不要包含jQuery两次。在所有其他脚本之前包括较新的版本,并包括一次。换句话说,删除对1.9.0的引用。然后看看你是否还有问题。在jQuery 1.7中,.bind
被.on
取代,在3.0中被弃用。使用.on
以实现向前兼容性和更好的功能。最后,除非您在这里的示例中刚刚输入了错误,否则您需要在“document.ready”中包含jQuery(#关键字”).autocomplete({
)否则,在加载jQuery库之前和/或在将其目标元素呈现到浏览器之前,代码可能会运行。在“document.ready”结尾处似乎还缺少一个“”;
”函数,这让我怀疑它是否只是输入错误。@ADyson请将您的评论标记为答案。它实际上删除了错误。谢谢。只需将.autocomplete代码放在jquery.ready块中即可。它是输入错误-它在文档中。ready function@ADysonOk谢谢,我将删除答案的这一部分;我看到您已经编辑了代码。我花了整整一天的时间试图解决这个问题,而你的解决方案是唯一有效的……谢谢
jQuery(document).ready(function()
{
//search box of header
jQuery('#keyword').bind('focusin focusout', function(e)
{
var t = jQuery(this);
if(e.type == 'focusin' && t.val() == 'Search here')
{
t.val('');
}
else if(e.type == 'focusout' && t.val() == '')
{
t.val('Search here');
}
});
jQuery( "#keyword" ).autocomplete({
source: availableTags
});
}
at HTMLDocument.<anonymous> (general.js:373)
at fire (jquery-1.10.2.js:3048)
at Object.fireWith [as resolveWith] (jquery-1.10.2.js:3160)
at Function.ready (jquery-1.10.2.js:433)
at HTMLDocument.completed (jquery-1.10.2.js:104)
jQuery(function ($) {
$(function () {
$...............
});});