事件流
- 描述是页面接收事件的顺序
+ 一个完整的事件包含三部分
=> 事件捕获
=> 目标阶段
=> 事件冒泡
+ 事件冒泡
=> 事件是从内向外进行传递
+ 事件捕获
=> 事件是从外向内进行传递
+ 现在大多数浏览器都是支持的是事件冒泡,因为低版本的IE浏览器不支持事件捕获,所以为了兼容更多的浏览器支持的是冒泡
+ 事件冒泡很多情况会给咱们造成困扰,所以需要阻止事件冒泡
+ 阻止冒泡
=> e.stopPropagation()
+ 利用冒泡做事件委派
事件委派
- 什么是事件委派,当咱们需要给很多的元素进行绑定相同的事件,可以使用委派来完成
- 把事件绑定在共同的祖先元素上面,利于事件冒泡的原理进行事件触发
- e.target
= 你点击那个元素那个元素就是事件目标
=> this是你给那个元素绑定的事件,this的指向是那个元素,不会是其他的元素
浏览器默认行为
+ 就是浏览器自带的一些行为,例如:a超链接点击、form表单提交、右键菜单等等
+ 阻止默认行为
=> e.preventDefault()
=> return false
事件监听
- ele.addEventListener()
- 事件监听和事件绑定区别
=> 监听是功能更为强大,兼容性不好
=> 绑定功能单一,没有兼容问题
=> 监听有捕获、可以绑定相同的事件多次,而绑定不能相同的事件绑定多次,后面的会把前面的给覆盖掉
面试题
- var num = 10
- typeof num
+ typeof typeof typeof num ? 结果是多少
isNaN()- 判断非数字
- 如果是数字返回false,如果不是数字返回true
- 注意点
=> 会默认进行隐式数据类型转换