1,理解事件流
事件流可以理解为事件发生的时候,触发其他事件的情况,有两种情况,一种是事件冒泡,一种是事件捕获,事件冒泡是指,从具体的元素出发,向上传播至没有那么具体的元素(文档)。
<!DOCTYPE html>
<html>
<head>
<title>Event Bubbling Example</title>
</head>
<body>
<div id="myDiv">Click Me</div>
</body>
</html>
对于该代码来说,点击页面中的div元素后,click 事件会按以下顺序发生
(1) <div>
(2) <body>
(3) <html>
(4) document
现代浏览器会冒泡到window对象上
事件捕获的顺序则和事件冒泡刚刚相反,是从最不具体的元素开始,沿着dom树逐渐向下传播到具体的元素那里,针对上面的代码,如果是事件捕获的话,那么点击div元素后,click事件的发生顺序如下,所有的浏览器都是从window对象开始,但是dom2Events规定是从document开始
(1)window
(2) document
(3) html
(4) body
(5)div
DOM2Events规范事件流分为3个阶段,事件捕获,到达目标,事件冒泡
还是上面点击事件的例子,在dom事件流中,在事件捕获阶段,目标元素div是不会接收事件的,只有在到达目标的时候,目标元素div才会触发事件,然后执行事件冒泡阶段。但是在实现DOM2Events的事件流的浏览器里,会在捕获阶段就触发目标元素的事件,最终结果是事件在目标元素上有两个时机来处理
2,使用事件处理程序
3,了解不同类型的事件
有些浏览器允许重写默认头部,有些浏览器不允许,所以自定义头部一定要区别于浏览器正常发送的头部,
跨域资源共享(cross origin resource share)的基本原理,使用自定义的htpp头部,允许浏览器和服务器相互通信
export import 的知识
var a = {};
export default a;
如果export default 导出的是一个表达式,那么导出的就是一个值,导出后的值,不管怎么变化,都不会影响原来的值,比如上面的例子,导出后的a的值,不管怎么变化,最开始的a的值就不会变了