Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在DOM中动态创建的元素上触发事件,它';有可能吗?_Javascript_Jquery_Html_Dom - Fatal编程技术网

Javascript 在DOM中动态创建的元素上触发事件,它';有可能吗?

Javascript 在DOM中动态创建的元素上触发事件,它';有可能吗?,javascript,jquery,html,dom,Javascript,Jquery,Html,Dom,我正在使用jQuery自动完成库,并使用classtypeahead将该行为应用于任何输入。这适用于页面加载时DOM中的任何元素。为此,我通过使用append或clone或任何其他jQuery/Javascript函数向DOM添加一些HTML来动态创建一些元素,所有这些元素也都具有类typeahead,但这些新元素不会触发行为。我是如何做到这一点的?我也需要在新元素上触发行为,如何触发?有什么建议吗 这是触发自动完成事件的代码: $('#products_forms .typeahead').a

我正在使用jQuery自动完成库,并使用class
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个以上的字符时,你的建议也会起作用吗?是的,在新元素上,你必须将它们初始化为你想要的方法。