jquery ui autocomplete with delegate

时间:2010-04-16 05:04:59

标签: jquery jquery-ui delegates

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

由于

4 个答案:

答案 0 :(得分:8)

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

See this post

答案 1 :(得分:5)

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

$('#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');
    }
});

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

答案 2 :(得分:2)

我对此有所了解,但似乎无法使其发挥作用,这是我的尝试:

http://jsfiddle.net/uGdm2/

答案 3 :(得分:2)

对我来说,以下工作:

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

    });
});