jQuery 一个对象可以同时绑定多个事件,这是如何实现的?

🌙
手机阅读
本文目录结构

jQuery 一个对象可以同时绑定多个事件,这是如何实现的?

$ele.on('eventName', handle1);
$ele.on('eventName', handle2);
$ele.on('eventName', handle3);

其实 $ele 元素的 eventName 事件有一个处理函数数组 监听一次就往里面放一个 handle,数组是先进后出型的

也就是栈, 然后触发事件的时候一次执行

上面的监听相当于

$ele.eventHandle['eventName'] = [];
$ele.eventHandle['eventName'].push(handle1);
$ele.eventHandle['eventName'].push(handle2);
$ele.eventHandle['eventName'].push(handle3);

然后 $ele.trigger('eventName') 触发的时候, 从栈里面取出处理函数执行

while($ele.eventHandle['eventName'].length) {
	handle = $ele.eventHandle['eventName'].pop();
	handle();
}

最先监听的最后执行;

更多面试题

如果你想了解更多的前端面试题,请点击下面进行选择,这里基本包涵了市场上的所有前端方面的面试题,让你面试更加顺利。

这些题库还在更新中,如果你有不错的面试题库欢迎分享给我,我整理后放上来;人人为我,我为人人,互帮互助,共同提高,祝大家都拿到心仪的Offer!

AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

于2021年离开前端领域,目前重心放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>

于2021年离开前端领域,目前从事区块链方面工作了