Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.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
jQuery触发了新添加的html代码_Jquery_Html_Jquery Ui_Autocomplete - Fatal编程技术网

jQuery触发了新添加的html代码

jQuery触发了新添加的html代码,jquery,html,jquery-ui,autocomplete,Jquery,Html,Jquery Ui,Autocomplete,例如,我有2个html输入 <div class="wrap"> <input class="autocomplete" name="auto_1" /> <input class="autocomplete" name="auto_2" /> </div> 但是自动完成功能没有在auto_3上运行,因为它是新添加的 如何使其运行/使用自动完成?使用.on(): 使用.on()方法,您可以将单击处理程序委托给将添加到D

例如,我有2个html输入

<div class="wrap">        
   <input class="autocomplete" name="auto_1" />
   <input class="autocomplete" name="auto_2" />
</div>
但是自动完成功能没有在
auto_3
上运行,因为它是新添加的

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

使用
.on()

使用
.on()
方法,您可以将单击处理程序委托给将添加到DOM中的现有和未来元素,例如(新)弃用的(来自jQ 1.7)
.live()

从文档中:

$("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+

我认为问题不在于单击新输入,而在于自动完成新输入。当您使用添加新元素时

$('.wrap').append('<input class="autocomplete" name="auto_3" />')

或者像RPM所说的那样,使用livequery插件自动完成。您肯定使用了一个过时的jQ v.i,使用了最新的更新,函数
.on()
正在为
自动1
自动2
工作,但不是在
自动3
@RPM no,
打开。
允许您委派您的元素,因此它是一个更好的替代。
$("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+
$('.wrap').append('<input class="autocomplete" name="auto_3" />')
$('input[name="auto_3"]').autocomplete();