博客列表 >简述事件委托(事件代理)

简述事件委托(事件代理)

南瓜又个梦
南瓜又个梦原创
2021年06月30日 16:53:50940浏览

事件委托就是利用事件冒泡,只指定一个事件处理程序,绑定在父元素上,就可以管理某一类型的所有事件,且是动态的。

好处

动态监听
省监听内存

详细

事件委托,通俗说就是把一个元素响应事件(click,keydown…)的函数委托到另一个元素;

就拿点击事件来说吧,一般要给一个元素添加点击事件,都是直接给那个元素添加,但是,假设你要点击一个现在还不存在的元素,怎么办!

分析:因为我们还不知道要监听事件的元素是什么,但是我们知道它的父元素,我们可以先监听它的父元素,等触发事件的时候,再看看是不是我们想要监听的元素。这样就完成对不存在的元素进行监听。这就实现了动态绑定事件。

在很多时候,我们需要通过AJAX或者用户操作动态的增加或删除列表项元素,那么每一次改变元素都要重新给新元素绑定事件,给删除的元素解绑事件;

这时候,事件委托无疑于就是很好的办法,因为事件绑定在父元素的,和目标元素的增减是没有关系的,执行到目标元素是在响应执行事件函数的过程匹配的,所以事件委托在这种情况下可以减少重复工作。

再来说一种情况吧,如果我们有一个列表,里面有大量列表项,需要给每个列表项都绑定一个点击事件。

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议