第十四天

49 阅读2分钟

事件流

       + 描述是页面接收事件的顺序
        + 一个完整的事件包含三部分
          => 事件捕获
          => 目标阶段
          => 事件冒泡
        + 事件冒泡
          => 事件是从内向外进行传递
        + 事件捕获
          => 事件是从外向内进行传递
        + 现在大多数浏览器都是支持的是事件冒泡,因为低版本的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
        + 注意点
          => 会默认进行隐式数据类型转换