在DOM上动态创建的元素上触发事件,这可能吗?

时间:2014-08-06 20:08:12

标签: javascript jquery html dom

我正在使用jQuery自动填充库并将该行为应用于具有类typeahead的任何输入。这适用于页面加载时DOM上的任何元素。我通过使用appendclone或任何其他jQuery / Javascript函数为DOM添加一些HTML来动态创建一些元素,并且它们都具有类typeahead但是在这些新元素上没有触发行为。我是如何做到这一点的?我也需要触发这个新元素的行为,怎么样?有什么建议吗?

这是触发autocomplete事件的代码:

$('#products_forms .typeahead').autocomplete({
    serviceUrl: Routing.generate('get_products'),
    paramName: 'filter',
    showNoSuggestionNotice: true,
    noSuggestionNotice: 'Nothing found',
    minChars: 3,
    onSelect: function(suggestion) {
        alert('You selected: ' + suggestion.value + ', ' + suggestion.data);
    }
});

1 个答案:

答案 0 :(得分:1)

添加项目后调用typeahead功能,例如:

var elem = $("<div id='new'></div>");
$("#someContainer").append(elem);
$("#new").autocomplete({});