Javascript 大量单击侦听器的性能

Javascript 大量单击侦听器的性能,javascript,javascript-events,Javascript,Javascript Events,(这与我提出的另一个问题有关,归结为最基本的问题) 页面上有大量的点击监听器会对性能有害吗 在任何给定的时间隐藏除一个元素之外的所有元素是否可以避免这种性能影响?为什么不侦听单个父元素,然后确定单击后要做什么?这取决于调用它们的频率,这在某种程度上取决于DOM结构(事件上下冒泡,而不是跨同级)以及每一个的处理量@Josh-使用委派只意味着一个侦听器来替换多个侦听器,它不会减少处理(实际上会增加处理)或帮助加快处理速度,只不过在第一时间附加侦听器可能会更快。@RobG这实际上取决于单击元素时应该发

(这与我提出的另一个问题有关,归结为最基本的问题)

页面上有大量的点击监听器会对性能有害吗


在任何给定的时间隐藏除一个元素之外的所有元素是否可以避免这种性能影响?

为什么不侦听单个父元素,然后确定单击后要做什么?这取决于调用它们的频率,这在某种程度上取决于DOM结构(事件上下冒泡,而不是跨同级)以及每一个的处理量@Josh-使用委派只意味着一个侦听器来替换多个侦听器,它不会减少处理(实际上会增加处理)或帮助加快处理速度,只不过在第一时间附加侦听器可能会更快。@RobG这实际上取决于单击元素时应该发生什么。如果每个节点都需要一个唯一的操作,而这个操作不能通过元素中的某些内容进行散列,那么我认为个性化更有意义。另一方面,大多数瓶颈、性能方面的问题都发生在加载事件周围,而附件通常发生在加载事件周围。我意识到有些情况下委托是不对的,但基于这个问题,我怀疑这不是其中之一。@Josh-是的,每元素Liseters的性能实际上只是附加侦听器的问题(通常在加载时左右),否则,委派会增加计算事件与哪个元素相关的处理,这并不多,但如果分派了很多元素(例如,使用mousemove拖放),则可能很重要。委托的最大优点是简单,特别是在修改DOM时。