Javascript 是否认为使用document.on()是一种不好的做法?

Javascript 是否认为使用document.on()是一种不好的做法?,javascript,jquery,performance,Javascript,Jquery,Performance,将事件绑定到document.on()是否被视为不好的做法 我认为将事件直接绑定到dom元素会更有效 我问这个问题是因为我正试图弄清楚如何实现一些Javascript功能,如果document.on()效率低下,我希望避免广泛使用它 如果可能的话,我会避免。你必须意识到,几乎每一个事件都会达到顶峰。然后jQuery必须使用选择器查询目标;以这种方式绑定的每个事件可能都有一个不同的事件。这可以加起来 我个人曾遇到过大量使用现已过时的函数.live()的遗留代码。从中可以看出,这相当于绑定到文档 因

将事件绑定到
document.on()
是否被视为不好的做法

我认为将事件直接绑定到dom元素会更有效


我问这个问题是因为我正试图弄清楚如何实现一些Javascript功能,如果
document.on()
效率低下,我希望避免广泛使用它

如果可能的话,我会避免。你必须意识到,几乎每一个事件都会达到顶峰。然后jQuery必须使用选择器查询目标;以这种方式绑定的每个事件可能都有一个不同的事件。这可以加起来

我个人曾遇到过大量使用现已过时的函数
.live()
的遗留代码。从中可以看出,这相当于绑定到
文档

因此,我们在点击事件上有时会出现多个秒延迟。在修复了不必要的
live()
绑定(因为它们导致了一些模糊的bug)之后,我们最终获得了巨大的可用性改进


由于默认操作可能已经发生,因此也无法在该点抑制事件。如果可以,您应该更具体地绑定。很可能,你可以。

如果可能的话,我会避免。你必须意识到,几乎每一个事件都会达到顶峰。然后jQuery必须使用选择器查询目标;以这种方式绑定的每个事件可能都有一个不同的事件。这可以加起来

我个人曾遇到过大量使用现已过时的函数
.live()
的遗留代码。从中可以看出,这相当于绑定到
文档

因此,我们在点击事件上有时会出现多个秒延迟。在修复了不必要的
live()
绑定(因为它们导致了一些模糊的bug)之后,我们最终获得了巨大的可用性改进


由于默认操作可能已经发生,因此也无法在该点抑制事件。如果可以,您应该更具体地绑定。很可能,您可以。

通常不建议将委托方法绑定到文档或主体对象,因为这可能会导致性能问题。问题是,如果您得到许多委托事件都绑定到同一个对象,那么每次事件发生并冒泡到此对象时,jQuery都必须将原始选择器与许多不同的选择器进行比较,以确定要调用哪个处理程序


最好将委派事件绑定到尽可能接近实际目标对象的父对象。

通常不建议将委派方法绑定到文档或正文对象,因为这可能会导致性能问题。问题是,如果您得到许多委托事件都绑定到同一个对象,那么每次事件发生并冒泡到此对象时,jQuery都必须将原始选择器与许多不同的选择器进行比较,以确定要调用哪个处理程序


最好将委派事件绑定到尽可能接近实际目标对象的父对象。

请阅读我对类似问题的回答,该问题已在上的文档中全部解释。请阅读“”一节!从文档中可以看出:在文档树顶部附近附加许多委托事件处理程序会降低性能……我只能想到将事件绑定到文档的两个相当基本的原因,即监视它(即就绪/加载/滚动事件),以及在单击页面上的任意位置时停用另一个元素(由于冒泡)。不太清楚你还问了什么…请阅读我对类似问题的回答,它在上的文档中解释了所有问题。请阅读“”一节!从文档中可以看出:在文档树顶部附近附加许多委托事件处理程序会降低性能……我只能想到将事件绑定到文档的两个相当基本的原因,即监视它(即就绪/加载/滚动事件),以及在单击页面上的任意位置时停用另一个元素(由于冒泡)。不太清楚你还问了什么。。。