# 20190925

![js](https://img.shields.io/badge/language-js-orange.svg)
[linkToHtml](./20190926.html)

* 事件的阶段
  * e.eventPhase 通过这个知道之间的阶段
    1. 事件捕获 => 从外向里
    2. 目标阶段 => 
    3. 冒泡阶段 => 从里向外

*  绑定事件 addEventListener('不带on的事件类型',函数,<控制事件阶段>)
    * <控制事件阶段> => false => 冒泡阶段
    * <控制事件阶段> => true => 事件捕获

```js
// 前提 div.box1>div.box2>div.box3,且各个div绑定打印id的点击事件
my$('box3').addEventListener('click',fn,false);
// box3 -> box2 -> box1
my$('box3').addEventListener('click',fn,true);
// box1 -> box2 -> box3
```

* onmouseover|out 鼠标移入移出事件

* e.type  获取当前事件 
```js
  my$('btn').onclick = f1;
  my$('btn').onmouseover = f1;
  my$('btn').onmouseout = f1;
  
  function f1(e) {
    switch(e.type){
      case 'click':
        //点击TODO
        break;
      case 'mouseover':
        //鼠标移入TODO
        break;
      case 'mouseout':
        //鼠标移出TODO
        break;
    }
  }
```

* a标签 href属性为 javascript:; 阻止默认事件
