是jquery';在';当选择符为文档时,功能有效

是jquery';在';当选择符为文档时,功能有效,jquery,performance,Jquery,Performance,使用时有什么问题吗 Jquery的.on()函数本身: $(document).on("click", "#myDynamicallyLoadedElement", function() {}); 与类似于: $(".parentElement").on("click", "#myDynamicallyLoadedElement", function() {}); 我觉得$(文档)的使用效率要低得多,可能会导致浏览器的性能或其他问题 有人知道这样使用$(document).on()是否有问题

使用时有什么问题吗 Jquery的.on()函数本身:

$(document).on("click", "#myDynamicallyLoadedElement", function() {});
与类似于:

$(".parentElement").on("click", "#myDynamicallyLoadedElement", function() {});
我觉得$(文档)的使用效率要低得多,可能会导致浏览器的性能或其他问题


有人知道这样使用$(document).on()是否有问题吗?

在添加事件侦听器时,您希望尽可能缩小范围,但避免重复。现在,
$(document)
在您实际希望以整个文档为目标时没有任何问题,但如果不是这样,那么您可能会遇到jQuery必须过滤的数百个事件,这有点低效。相反,最好只针对您想要收听的元素。要在该示例中获得最佳性能,请执行以下操作:

$("#myDynamicallyLoadedElement").click(function () {});
因为您使用了一个ID,所以我假设文档中只有一个MyDynamicAllyLoadElement


click()
on(“click”,)
的简写,使用
$(文档)的两个主要原因。on
是如果您不知道内容将在哪里,或者在加载其他html之前定义事件处理程序。在大多数情况下,这两种说法都不正确,因此您应该在坚持D.R.Y原则的同时尽量具体。

您正确地认为,当您有一个实际的容器时,以
文档为目标是低效的。签出