DOMContentLoaded、load区别?DOM事件流?事件代理?(关于腾讯一面我是如何死在DOM上的小结)

本文作者分享了一次面试经历,主要围绕DOM事件流、事件委托和DOM事件的区别进行讨论。面试中,作者未能准确回答DOM事件流、阻止事件冒泡和默认操作以及DOMContentLoaded和load事件的区别。文章对这些知识点进行了详细解释,强调了学习的全面性和深入性对面试的重要性。并提供了相关事件和概念的资料整理。
摘要由CSDN通过智能技术生成

这是5月12日参加的面试:

  • 面试官:讲一下DOM事件流?
    我:
    在这里插入图片描述
    DOM不就是元素捕获、事件绑定、触发操作,再就是冒泡和默认事件吗?还有事件流?(当然这话我没敢跟面试官讲)第一题我就死了。然后面试官提示了下:事件捕获、事件冒泡什么的。我就讲了下事件冒泡。

  • 面试官:那你说下怎么阻止事件冒泡和默认操作。
    当时的我只记得oEvent.cancelBubble = true这么个古老的操作,然后阻止默认事件,只隐约记得是p*default()这么个api
    你说我能过吗?我能过才有鬼T.T

  • 面试官:知道事件委托吗?讲一下实现吧~
    我只知道把子元素的事件绑定在父元素身上,实现,实现,实现~emmmmm
    你说我能过吗?我能过才有鬼T.T

  • 面试官:讲讲window.onload()window.DOMContentLoaded()还有jQuery.ready()的区别
    我对不起人民对不起dang,我就看过blue老师在<head>标签内写<script>时用过window.onload()来等待DOM加载完成,后面俩api是见都没见过的。
    你说我能过吗?我能过才有鬼T.T


小结

一句话:我太菜了!

知识结构不够完善,被常见、但我知识面没覆盖到的问题问死了。

这次面试,几乎所有问题都围绕着DOM、HTTP、AJAX在展开,CSS只问了个垂直居中,JS和框架完全没问,更别提webpack和node.js了。每个面试官的问题风格真的有很大区别,我们永远不知道会被问到什么,所以我们能做的就是把所有东西都学透,才不会被问死。

我认为,当学的足够好时,面试前是不用去准备的,开口就能来,那种自信真的!经历过的人会懂。


资料整理

啥都不知道,当然得整理下才行啊~

DOMContentLoaded、load

参考资料:
MDN load事件
MDN DOMContentLoaded事件
DOMContentLoaded与load的区别
(第3篇文章讲的很仔细,推荐看看)

  • DOMContentLoaded
    初始HTML文档已完全加载并解析,而无需等待样式表,图像和子帧完成加载时,将触发DOMContentLoaded事件。
    此事件的原始目标是已加载的文档。 您可以在Window界面上侦听此事件,以在捕获或冒泡阶段对其进行处理。
    jQuery 中 $(document).ready(),监听的就是 DOMContentLoaded 事件

  • load
    加载完整个页面(包括所有相关资源,例如样式表图像)时,将触发load事件。 这与DOMContentLoaded相反,后者在页面DOM被加载后立即触发,而无需等待资源完成加载。
    jQuery 中 $(document).load(),监听的是 load 事件


DOM事件流

在 HTML DOM 中有两种事件传播的方法:冒泡和捕获。

在冒泡中,最内侧元素的事件会首先被处理,然后是更外侧的;
在捕获中,最外侧元素的事件会首先被处理,然后是更内侧的。

在 addEventListener() 方法中,可以使用“useCapture”参数来规定传播类型:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值