jQuery触发了新添加的html代码

示例我有2个html输入

auto_1auto_2使用jQuery UI自动完成,并在文档就绪时触发$(function(){})

然后,如果我们点击我网站上的一个按钮,就会有另一个按钮。 由函数$('.wrap').append('')

现在总共有3个输入

 

但自动完成function没有在auto_3运行,因为它是新添加的。

如何让它运行/使用自动完成?

我认为问题不在于点击新输入,而是在新输入上自动完成。 当你添加新元素时

 $('.wrap').append('') 

您必须将自动完成function附加到此新字段,因此

 $('input[name="auto_3"]').autocomplete(); 

或使用livequery插件进行自动完成: https : //stackoverflow.com/a/4551313/657584

使用.on() : http : .on()

 $('.wrap').on('click', '.autocomplete', function(){ // your code here // $(this).autocomplete(); // or whatever. }); 

使用.on()方法将您的单击处理程序委托给将添加到DOM的.on()和future元素, .on() )deprecated(来自jQ 1.7) .live()

来自DOCS:

 $("a.offsite").live("click", function(){ alert("Goodbye!"); }); // jQuery 1.3+ $(document).delegate("a.offsite", "click", function(){ alert("Goodbye!"); }); // jQuery 1.4.3+ $(document).on("click", "a.offsite", function(){ alert("Goodbye!"); }); // jQuery 1.7+