由于事件处理程序可以为现代Web应用程序提供交互能力,因此许多开发人员会向页面中添加大量的处理程序。在创建GUI的语言(如C#)中,为GUI中的每个按钮添加一个onclick事件是司空见惯的事,而且这样做也不会导致什么问题。可是在JavaScript中,添加到页面上的事件处理程序数量将直接关系到页面的整体运行性能。导致这一问题的原因是多方面的。首先,每个函数都是对象,都会占用内存;内存中的对象越多,性能越差。其次,必须事先指定所有事件处理程序而导致的DOM访问次数,会延迟整个页面的交互就绪时间。事实上,从如何利用好事件处理程序的角度出发,还是有一些方法能够提升性能的。
解决方法:
1、事件委托
2、移除事件处理程序