2011-05-13 110 views
0

合并应用程序时,我的JQuery UI自动完成功能停止工作。JQuery自动完成功能停止工作

我的图书馆(所有脚本):

<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script> 
    <script type="text/javascript" src="js/jquery-ui-1.8.6.custom.min.js"></script> 
    <script type="text/javascript" src="js/jquery.bubblepopup.v2.3.1.min.js"></script> 
<script src="js/modernizr-1.6.min.js"></script> 
<script type="text/javascript" src="js/jquery-autocomplete/jquery.ui.autocomplete.js"></script> 
    <script type="text/javascript" src="js/jquery-autocomplete/jquery.ui.core.js"></script> 
    <script type="text/javascript" src="js/jquery-autocomplete/jquery.ui.position.js"></script> 
    <script type="text/javascript" src="js/jquery-autocomplete/jquery.ui.widget.js"></script> 
    <link rel="stylesheet" href="js/jquery-autocomplete/jquery.autocomplete.css" type="text/css" /> 
    <script type="text/javascript" src="js/jquery-autocomplete/jquery.autocomplete.js"></script> 
    <script type="text/javascript" src="js/jquery-autocomplete/jquery.autocomplete.min.js"></script> 
    <script type="text/javascript" src="js/jquery-autocomplete/jquery.autocomplete.pack.js"></script> 

,代码:

$(function() { 
    function split(val) { 
     return val.split(",\n"); 

    } 

    function extractLast(term) { 
     return split(term).pop(); 
    } 

    $("#responsableUtu") 
    // don't navigate away from the field on tab when selecting an item 
    .bind("keydown", function (event) { 
     if (event.keyCode === $.ui.keyCode.TAB && $(this).data("autocomplete").menu.active) { 
      event.preventDefault(); 
     } 




    }) 

    .autocomplete({ 

     source: function (request, response) { 
      $.getJSON("username.html?startWith=" + extractLast(request.term), 

      { 

      }, response); 
     }, 

     search: function() { 
      // custom minLength 
      var term = extractLast(this.value); 
      if (term.length < 3) { 
       return false; 
      } 
     }, 
     focus: function() { 
      // prevent value inserted on focus 
      return false; 
     }, 
     select: function (event, ui) { 
      var terms = split(this.value); 
      // remove the current input 
      terms.pop(); 
      // add the selected item 
      terms.push(ui.item.value); 
      // add placeholder to get the comma-and-space at the end 
      terms.push(""); 
      this.value = terms.join(" "); 
      return false; 
     } 


    }); 
}); 

利布斯被发现。怎么了?

+0

你使用的是火虫吗?如果你是,用它来发现错误,并用你的代码发布你的错误。 – 2011-05-13 10:37:21

+0

有没有办法跟踪萤火虫的禁用和重复脚本库? – mjgirl 2011-05-13 10:56:28

回答

0

您包含四次自动完成脚本(两倍于未压缩的脚本,一次为min和pack版本),并且当您包含整个库时,您将重新包含jQuery UI的模块。

尝试用它来取代你的<script />的阻拦:

<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.12/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" /> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js" type="text/javascript"></script> 
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.12/jquery-ui.min.js" type="text/javascript"></script> 
<script src="js/jquery.bubblepopup.v2.3.1.min.js" type="text/javascript"></script> 
<script src="js/modernizr-1.6.min.js" type="text/javascript"></script> 

这应该给你一个“干净”的环境(我用谷歌的CDN,因为我不知道什么是您的文件中做)。

它解决了这个问题吗?

+0

不幸的不是。 – mjgirl 2011-05-13 10:55:20

+0

我的自动完成依赖项是ui.core,ui.widget和ui.position – mjgirl 2011-05-13 10:57:56