2

使用 Jquery 的 .on() 函数是否有任何问题:

$(document).on("click", "#myDynamicallyLoadedElement", function() {});

与类似的东西:

$(".parentElement").on("click", "#myDynamicallyLoadedElement", function() {});

我觉得 $(document) 的使用效率会低得多,并且可能会导致浏览器出现性能或其他问题。

有谁知道以这种方式使用 $(document).on() 是否有任何问题?

4

2 回答 2

0

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

$("#myDynamicallyLoadedElement").click(function () {});

由于您使用了 ID,我假设文档中只有一个 myDynamicallyLoadedElement 。

click()是简写on("click", )

于 2014-03-01T03:26:07.497 回答
0

使用的两个主要原因$(document).on是如果您不知道您的内容将在哪里,或者您是否在加载其他 html 之前定义事件处理程序。在大多数情况下,这两个陈述都不正确,因此您应该在遵守 DRY 原则的同时尝试尽可能具体。

于 2014-03-01T03:30:50.117 回答