0

为我的问题的新奇道歉,我对 jQuery 还是新手。我遇到了一个问题:有没有办法让 jQuery 能够看到动态创建的元素并对其做出反应.clone()

目前,每当我克隆某些东西时,它显然不会被 DOM “看到”,因此没有注册事件。

这是我创建的一个凌乱的 jsFiddle:http: //jsfiddle.net/3MvPL/

单击“提交”会显示alert(),但元素的克隆版本不会。

4

2 回答 2

5

这是因为元素是动态附加的:

$("#forms").on("submit", ".saveForm", function(event) {
    event.preventDefault();
    alert("Worked!");
});

在此处查看文档的事件委托部分。

jsFiddle 示例在这里。

于 2013-07-08T13:26:46.343 回答
5

您需要添加true克隆参数:

$(".newForm").clone(true).appendTo("#forms").removeClass("newForm").fadeIn();

jQuery 克隆:http ://api.jquery.com/clone/

第一个参数是“克隆事件处理程序”。

于 2013-07-08T13:26:58.470 回答