Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery(…).autocomplete不是firejquery-1.10.2.js中的函数_Javascript_Jquery - Fatal编程技术网

Javascript jQuery(…).autocomplete不是firejquery-1.10.2.js中的函数

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

因此,我正在开发一个MVC 5应用程序,该应用程序于2014年编写,当时使用的是较旧版本的JQuery,因此一些功能已被弃用,因此,通过使用Google Chrome的开发者工具通过F12热键,我不断收到这些控制台错误。根据这两篇SO帖子,我在
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 () {
   $............... 

});});