最基础的前端就是HTML+CSS+Javascript。掌握这三项技术算是入门,但也只是入门而已。现在前端开发的定义远不止于此。前端小课堂(HTML/CSS/JS),本着提高技术水平,夯实基础知识的中心思想,开课(每周四)。我们已经基本掌握了常规的语法和语义,以及基本的使用方法。下面我们就深入了解一下里面的原理。我们今天要谈什么?事件机制事件对象(Event)事件循环DOM(与事件的关系,看不看都无所谓)DOM(DocumentObjectModel-文档对象模型)是一种用于渲染和交互任何HTML或XML的API文档。DOM是加载到浏览器中的文档模型,它以节点树的形式表示文档,每个节点代表文档的一个组件(例如:页面元素、字符串或评论等)。DOM是万维网上使用最广泛的API之一,因为它允许在浏览器中运行的代码访问文档中的节点并与之交互。可以创建、移动或修改节点。事件侦听器可以添加到节点并在给定事件发生时触发。DOM本身并没有规范化,它是在浏览器开始实现JavaScript时出现的。这个遗留DOM有时被称为DOM0。目前,WHATWG维护着DOM现有标准。--由于MDN有一个版本的DOM,因此其环境中的事件支持也有一个版本。文档DOM事件(级别0)body.onclick就是这样定义的。不能多次监听事件,因为是赋值方式,下次赋值会覆盖掉。只能定义在addEventListener的方式中,在冒泡阶段触发DOM事件(level2)。可以多次监听,回调按照监听顺序(有序)执行,取消需要同一个引用的监听函数。举个栗子//错误案例,两个方法引用不一样,导致没有清除document.addEventListener('click',function(){})document.removeEventListener('click',function(){})//正确的大小写,相同的引用,可以被清除。functiondocumentClick(){}document.addEventListener('click',documentClick)document.removeEventListener('click',documentClick)可选触发阶段(冒泡&捕获)捕获事件机制标准事件:EMCAScript标准规定事件流包含三个阶段是事件捕获阶段、目标阶段和事件冒泡阶段。先存一段代码,后面的例子中都会用到这个例子。在这里测试看我的DEMO
