我使用委托机制寻找提高性能的线程。我说的是简单的 javascript,没有 jQuery 或其他工具/库。
每个元素都会在 DOM 树中产生事件,并且它们通过冒泡机制在其中传播。
委托避免为每个元素创建事件处理程序,而是在单个处理程序中捕获更多事件。此外,停止冒泡,如果已经正确处理,处理程序可以避免事件进一步传播。因此,它将减少页面的资源消耗。
但是,如果冒泡没有停止,事件会在整个 DOM 树中产生和传播,因此在页面中使用委托与否都存在相同的资源消耗。而且,如果委托的处理程序必须对事件的来源进行检查,那也将更加消耗......
那么,除了编程更容易、简单、干净之外,使用委托的性能提升在哪里?
有一种方法可以完全避免生成某些事件,或者完全避免某些元素产生某些事件,从而真正节省资源使用吗?例如,一个简单的文本,在鼠标悬停时,会在正常页面中生成许多无用的消息;如果不处理该消息,是否可以防止从源头生成?