Como vincular o preenchimento automático da UI do jQuery usando .on ()?

Esta pergunta foi respondida para o método live (), mas o método live () foi preterido a partir do jQuery 1.7 e substituído pelo método .on () e esta resposta não funciona para on ().

Aqui é onde foi respondido antes:Bind A interface do usuário do jQuery é preenchida automaticamente usando .live ()

Alguém sabe como fazer omesma cois com on ()?

Se você alterar a sintaxe para algo como

$(document).on("keydown.autocomplete",[selector],function(){...});

a partir d

$([selector]).live("keydown.autocomplete",function(){...});

Funciona, mas interage com os eventos internos de preenchimento automático de uma maneira estranha. Com live (), se você usar o select event e acesse o event.target, fornece o ID do elemento de entrada. Se você usar on (), ele fornecerá o ID do menu suspenso "ui-active-menuitem". Algo assim

$( ".selector" ).autocomplete({
   select: function(event, ui) { 
     console.log(event.target.id);
 }
});

Mas - se você usar o evento "aberto", ele fornecerá o ID que estou procurando - mas não no momento certo (preciso dele depois que ele for selecionado). Neste ponto, estou usando uma solução alternativa para obter o ID do elemento de entrada na função de evento aberto, armazenando-o em um campo oculto e acessando-o no método de seleção onde preciso.

questionAnswers(4)

yourAnswerToTheQuestion