Skip to content

什么是事件代理

事件委托或事件代理: 耕具《js高级程序设计》一书来说就是利用事件冒泡, 指定一个事件处理程序,就可以管理某一类的所有事件.举个例子: dom需要事件处理程序,我们都会给他设置事件处理程序, but, 如果有在ul中全部100个li需要添加事件处理程序,其具有相同的点击事件,那么可以根据for来进行遍历, 也可以根据上层的ul来添加.在性能的角度来看,把ul建立事件会减少dom的交互次数,提高性能.

事件代理的原理

事件委托是利用事件的冒泡原理来实现的,就是事件从最深的节点开始,然后逐步向上传播事件

举个例子: 页面上有这么一个节点树, div>ul>li>a;比如给最里面的a加一个click点击事件,那么这个事件就会一层一层的往外执行, 执行顺序 a > li > ul > div, 有这样的一个机制,那么我们给最外面的div加点击事件,那么里面的ul,li,a做点击事件的时候,都会冒泡到最外层的div上,所以都会触发,这就是事件委托,委托他们父级代理