我有一个脚本可以显示Google建议:JsFiddle
我想用ui自动完成渲染的第一个li项做一个函数,所以我这样做了:
$("input#term").keyup(function() {
DoMyFunction($('.ui-autocomplete li:first-child a').text(), true);
});
问题是,在密钥组之间有一段时间--->请求---> uml自动完成的xml缓存和html渲染。这意味着当没有html列表时我的函数(DoMyFunction)被触发,因此它不起作用。所以我的问题是:如何在缓存和处理reqeust之后立即执行我的功能。设置计时器不会起作用,因为要考虑很多变量(ea用户带宽)。
答案 0 :(得分:1)
根据jQuery UI docs,在建议菜单打开时会触发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);
}
});