jswhat-is-事件委托

什么是事件捕获
事件从一个不太具体的节点捕获到最具体的节点。例如,有一个DIV注册了一个绑定事件,那么事件捕获的过程是document》html》body》div

什么是事件冒泡
事件从一个具体的节点到不太具体的节点。例如,有一个DIV注册了一个绑定事件,那么事件冒泡的过程是div》body》html》document

DOM事件流
事件流一共三个阶段。事件捕获》目标事件阶段》事件冒泡

什么是事件委托
解释了事件冒泡和事件捕获,来说说事件委托吧。事件委托利用了事件冒泡机制,只指定一个事件处理程序,就可以管理某一类型的所有事件。是不是听起来有点拗口?举个例子。一个ul列表里有很多个li元素,li需要绑定点击事件,通过事件委托给ul绑定点击事件就可以管理ul下所有的li的点击事件。

为什么要使用事件委托
当页面有很多复杂的事件程序,就会有很多代码用来添加事件处理程序,内存消耗也会更大,代码也不优雅。使用了事件委托,可以只取得一个DOM元素,添加一个事件处理程序,就可以管理它的子节点所有同类事件。处理时间和性能消耗都会大大的减少

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理