标准事件如何触发动态添加的元素? (JQuery的)

时间:2013-10-10 05:19:04

标签: javascript jquery events

我很抱歉标题上写得不好,如果有人可以编辑它更简洁和/或告诉我我正在寻找的正确术语是什么,那就太棒了。

使用动态添加的元素,典型的事件绑定不起作用,但人们声称如下:

$('.elementClass').on('click',function() { });

我没有运气,但当然这将永远有效:

$(document).on('click','.elementClass',function() { });

问题是,每次单击文档时都会检查事件,这显然效率不高。有没有办法将新创建的元素添加到流中,以便以下内容仍适用于它们?

$('.elementClass').click(function() { });

提前感谢您提供的任何帮助,也许是为了告诉我正确的白话!

1 个答案:

答案 0 :(得分:1)

通过动态添加元素来绑定事件,我们必须使用.on()。避免对大型文档上的委派事件过度使用documentdocument.body

通常可以通过将处理程序附加到文档中更合适的点来避免分层选择器。例如,代替$(document).on('click','.elementClass',function() { });使用$("#elementClass_parent_id").on('click','.elementClass',function() { });.