Jquery 在JSONP请求之后立即执行myFunction

Jquery 在JSONP请求之后立即执行myFunction,jquery,html,autocomplete,jsonp,Jquery,Html,Autocomplete,Jsonp,我有一个脚本,可以显示谷歌的建议: 我想使用ui autocomplete呈现的第一个li项执行一个函数,因此我执行了以下操作: $("input#term").keyup(function() { DoMyFunction($('.ui-autocomplete li:first-child a').text(), true); }); 然而,问题是在keyup->request->xml缓存和ui自动完成的html呈现之间有一段时间。这意味着当没有html列表时会触发my函数(D

我有一个脚本,可以显示谷歌的建议:

我想使用ui autocomplete呈现的第一个li项执行一个函数,因此我执行了以下操作:

$("input#term").keyup(function() {
    DoMyFunction($('.ui-autocomplete li:first-child a').text(), true);
}); 
然而,问题是在keyup->request->xml缓存和ui自动完成的html呈现之间有一段时间。这意味着当没有html列表时会触发my函数(DoMyFunction),因此它不起作用。所以我的问题是:在请求被缓存和处理之后,我如何做我的函数呢。设置计时器不起作用,因为要考虑的变量太多(ea用户带宽)

根据,当建议菜单打开时,会触发一个
open
事件

您必须执行以下操作:

$("#term").autocomplete({

  source: function( request, response ) {
    // ajax function
  },
    select: function(e, ui){
        //
    }
   open : function(){
        //here you are sure the suggestion menu is opened
        DoMyFunction($('.ui-autocomplete li:first-child a').text(), true);
   }
 });

谢谢,我以后会尝试这个,但现在我承认这是一个非常有用的答案