0

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

对于动态添加的元素,典型的事件绑定不起作用,但人们声称以下内容可以:

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

我对此没有任何运气,但当然这总是有效的:

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

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

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

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

4

1 回答 1

1

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

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

于 2013-10-10T05:24:28.180 回答