为我的问题的新奇道歉,我对 jQuery 还是新手。我遇到了一个问题:有没有办法让 jQuery 能够看到动态创建的元素并对其做出反应.clone()
?
目前,每当我克隆某些东西时,它显然不会被 DOM “看到”,因此没有注册事件。
这是我创建的一个凌乱的 jsFiddle:http: //jsfiddle.net/3MvPL/
单击“提交”会显示alert()
,但元素的克隆版本不会。
为我的问题的新奇道歉,我对 jQuery 还是新手。我遇到了一个问题:有没有办法让 jQuery 能够看到动态创建的元素并对其做出反应.clone()
?
目前,每当我克隆某些东西时,它显然不会被 DOM “看到”,因此没有注册事件。
这是我创建的一个凌乱的 jsFiddle:http: //jsfiddle.net/3MvPL/
单击“提交”会显示alert()
,但元素的克隆版本不会。
这是因为元素是动态附加的:
$("#forms").on("submit", ".saveForm", function(event) {
event.preventDefault();
alert("Worked!");
});
在此处查看文档的事件委托部分。
您需要添加true
克隆参数:
$(".newForm").clone(true).appendTo("#forms").removeClass("newForm").fadeIn();
jQuery 克隆:http ://api.jquery.com/clone/
第一个参数是“克隆事件处理程序”。