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


give an event to element which is created dynamically

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

我需要给动态创建的元素一个事件。

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

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

这将自动绑定新的DOM到jquery时,它被添加到文档。
点击这个链接了解详细描述。http://api.jquery.com/on/

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

有两种方法:

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

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


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