给动态创建的元素一个事件

时间:2013-01-02 13:37:49

标签: php jquery html dom

我正在使用jQuery填充CSV文件中的数据。

我需要为动态创建的元素提供一个事件。

现在事件没有获得动态创建的数据。

3 个答案:

答案 0 :(得分:6)

您可以使用jQuery .on()功能。

$(document).on('click', 'div.my_new_dom', function() {
    // do magical things
});

当将新DOM添加到文档中时,这将自动将新DOM绑定到jquery 有关详细说明,请查看此链接。 http://api.jquery.com/on/

答案 1 :(得分:1)

使用.on将事件绑定到动态添加的元素。

答案 2 :(得分:0)

您可以采取以下两种方式之一:

您可以在创建时为每个元素添加事件(首选)。

OR

您可以将事件绑定到父元素或文档,并为新创建的元素类型或类过滤它,以便它也适用于动态创建的元素(如@ phpisuber01所示)。


我认为第一个选项首选的原因是,使用第二个选项,您将click事件绑定到整个文档。因此,每次在页面的任何位置单击(或执行任何事件时),都必须进行检查以查看单击的元素是否应该触发事件。我不确定它在性能方面有多大差异,但需要考虑。