jquery ui autocomplete with delegate

我已根据文档设置了JQuery UI自动完成function,它适用于任何带有class =“tag-item”的输入,该输入将呈现给页面。 但是,用户可以通过JS将输入添加到dom中,因此我需要一种方法使用委托将自动完成绑定到新的动态创建的输入。 我不确定如何设置,任何想法将不胜感激。

谢谢

您可以使用’focusin’事件委派设置输入字段。

看这篇文章

对于它的价值,这是我最终使用的:

$('#some-container').delegate('input.to-autocomplete', 'focus', function(e) { $(this).autocomplete({ source: autocomplete_url /* etc, etc */ }); }); $('#some-container').delegate('input.to-autocomplete', 'blur', function(e) { var target = $(this); if (target.hasClass('ui-autocomplete-input')) { target.autocomplete('destroy'); } }); 

我希望它能减轻浏览器的负担,因为我自动完成(可能)数百个元素的关闭和打开,自动完成结果将开始堆叠。

我有一个去,但似乎无法使它工作,这是我的尝试:

http://jsfiddle.net/uGdm2/

对我来说,以下工作:

 $('#autocomplete').on('focusin', 'input', function(){ $(this).autocomplete({ }); });