jQuery触发了新添加的html代码
示例我有2个html输入
auto_1
和auto_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+