2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > js中事件监听 回调函数 事件捕获和事件冒泡以及事件委托的理解

js中事件监听 回调函数 事件捕获和事件冒泡以及事件委托的理解

时间:2024-04-24 07:40:44

相关推荐

js中事件监听 回调函数 事件捕获和事件冒泡以及事件委托的理解

js,dom中事件监听+回调函数的理解

用现实中的人来做比喻,可以这么理解:

爸妈让我在家里看门,有人敲门就上去开门;

那么在这个例子中:爸妈就是程序员,我就是监听器,有人敲门就是事件,开门就是回调函数;

用编程的方式去解读就是:程序员针对某个事件设置了一个监听器,当事件被触发了就执行回调函数;

反过来就可以继续联想,事件是被触发的,在这里代指敲门的人,于是在编程世界中就有了事件的触发者,等等…

事件捕获和事件冒泡的理解

举个例子,我家今天着火了。

那么从我的角度看,就是在我家里发生了这件事,往外扩散,从小区保安的角度看,我们小区里发生了这件事,从省领导的角度来看,是湖北省中的某个地方发生了这件事,从新闻联播的角度看,是中国的某处地方发生了这件事。这就是事件冒泡。

反过来,新闻联播想知道我家发生了什么事,那么得从中国找到湖北省,再找到我的小区,再找到我家。这就是事件捕获。

以编程的方式解读就是:我作为监听器,那就是我家门口发生了敲门事件,小区保安作为监听器,那就是这个小区发生了敲门事件,依次往外推。那么我家发生敲门事件就会”冒泡“扩散出去;

反之事件捕获就像是找某个嫌疑犯一样,一步步缩小范围,最后捉拿归案

事件委托的理解

委托委托,将一件事委屈别人托付给别人,即为委托

那么在js中如何理解呢?

换个例子,每个家庭都有孩子,每个孩子都需要有人照看,在家里需要父母看着,但是在学校,只需要一个老师看着。

在js中也是这样:由于所有子元素的事件都会冒泡到同一个父级,那么我只需要给父级添加一个事件监听,即可让所有子级元素被监听到,而不需要给每个子元素都添加一个监听。

这样做会失去一些独立性,但是可以简化操作,适合使用在大量重复操作的地方。

编程世界中的知识几乎都可以在现实生活中找到原型

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。