浏览器相关知识点小结

事件机制

  • 事件触发的三个阶段:
    • window 往事件触发处传播,遇到注册的捕获事件会触发
    • 传播到事件触发处时触发注册的事件
    • 从事件触发处往 window 传播,遇到注册的冒泡事件会触发
    • 注意:若给一个目标节点同时注册冒泡和捕获事件,事件触发会按照注册的顺序执行。
  • 注册事件:
    • addEventListener:参数解析:(事件名称,执行体,布尔值(决定是捕获事件还是冒泡事件,默认为冒泡即false))
    • 阻止事件:stopPropagation 来阻止事件的进一步传播。通常我们认为 stopPropagation 是用来阻止事件冒泡的,其实该函数也可以阻止捕获事件;stopImmediatePropagation 同样也能实现阻止事件,但是还能阻止该事件目标执行别的注册事件。
    node.addEventListener(
    'click',
    event => {
        event.stopImmediatePropagation()
        console.log('冒泡')
    },
    false
    )
    // 点击 node 只会执行上面的函数,该函数不会执行
    node.addEventListener(
    'click',
    event => {
        console.log('捕获 ')
    },
    true
    )
    
  • 事件代理
    • 如果一个节点中的子节点是动态生成的,那么子节点需要注册事件的话应该注册在父节点上
    • 优点: 节省内存、不需要给子节点注销事件

跨域

  • 为什么存在跨域?因为浏览器出于安全考虑,有同源策略。也就是说,如果协议、域名或者端口有一个不同就是跨域,Ajax 请求会失败。(想深究为什么,请自行百度)
  • 跨域方式:
    • jsonp:JSONP 的原理很简单,就是利用

你可能感兴趣的:(浏览器相关知识点小结)