Jquery 附加侦听器的$(el).on(…)或$(document).on(el…)之间有区别吗?

Jquery 附加侦听器的$(el).on(…)或$(document).on(el…)之间有区别吗?,jquery,Jquery,两种格式: $(文档).on('click'、“.class”、…) 及 $('.class')。在('click')上,… 有什么区别吗?或者是比另一个更好?或者它们是一样的吗?当您使用第一个时,您不知道是否存在.class 但是在第二个例子中,您知道它就是DOM元素,它的行为就像.bind() 所以 1.动态附加元素时,请使用第1种格式 2.使用第二种格式,如果您知道元素已经存在于DOM中,那么在案例1中,只有文档得到了指示;它负责代表其子元素注意单击。捕获事件的工作已经委派。它被称为 在案

两种格式:

$(文档).on('click'、“.class”、…)

$('.class')。在('click')上,…


有什么区别吗?或者是比另一个更好?或者它们是一样的吗?

当您使用第一个时,您不知道是否存在
.class

但是在第二个例子中,您知道它就是DOM元素,它的行为就像
.bind()

所以

1.动态附加元素时,请使用第1种格式


2.使用第二种格式,如果您知道元素已经存在于DOM中,那么在案例1中,只有
文档
得到了指示;它负责代表其子元素注意单击。捕获事件的工作已经委派。它被称为

在案例2中,类名为
class
的每个元素都已分别获得指示。如果动态创建新的
.class
,它们将无法响应案例中的任何事件,例如
单击


因此,基本上,当您的元素已动态添加到DOM中时,请使用事件委派,并对DOM中的现有元素使用直接单击处理程序。

您是否阅读了文档,其中详细解释了每个元素的功能?您应该阅读: