Javascript 在DOM中动态创建的元素上触发事件,它';有可能吗?
我正在使用jQuery自动完成库,并使用classJavascript 在DOM中动态创建的元素上触发事件,它';有可能吗?,javascript,jquery,html,dom,Javascript,Jquery,Html,Dom,我正在使用jQuery自动完成库,并使用classtypeahead将该行为应用于任何输入。这适用于页面加载时DOM中的任何元素。为此,我通过使用append或clone或任何其他jQuery/Javascript函数向DOM添加一些HTML来动态创建一些元素,所有这些元素也都具有类typeahead,但这些新元素不会触发行为。我是如何做到这一点的?我也需要在新元素上触发行为,如何触发?有什么建议吗 这是触发自动完成事件的代码: $('#products_forms .typeahead').a
typeahead
将该行为应用于任何输入。这适用于页面加载时DOM中的任何元素。为此,我通过使用append
或clone
或任何其他jQuery/Javascript函数向DOM添加一些HTML来动态创建一些元素,所有这些元素也都具有类typeahead
,但这些新元素不会触发行为。我是如何做到这一点的?我也需要在新元素上触发行为,如何触发?有什么建议吗
这是触发自动完成
事件的代码:
$('#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);
}
});
添加项目后,调用
typeahead
函数,例如:
var elem = $("<div id='new'></div>");
$("#someContainer").append(elem);
$("#new").autocomplete({});
var elem=$(“”);
$(“#someContainer”).append(elem);
$(“#新”).autocomplete({});
不起作用,因为我按类调用了typeahead,请查看我添加到main post中的代码,然后调用typeahead
类。@ReynierPM--就像上面一样,添加元素后,调用$(“.typeahead”).autocomplete()
但只有当用户在该输入中键入内容时,才应启动自动完成,有焦点的一个,并且只有当它有3个以上的字符时,你的建议也会起作用吗?是的,在新元素上,你必须将它们初始化为你想要的方法。