事件

作者: _咻咻咻咻咻 | 来源:发表于2021-01-27 13:49 被阅读0次

    事件捕获
    事件捕获是由Netscape Communicator团队提出来的,是先由最上一级的节点先接收事件,然后向下传播到具体的节点。(向下)
    事件冒泡
    事件冒泡是由IE开发团队提出来的,即事件开始时由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播。(向上)
    事件流
    "DOM2级事件”规定的事件流包含三个阶段:事件捕获阶段,处于目标阶段和事件冒泡阶段。
    阻止冒泡
    e.stopPropagation()
    IE: window.event.cancelBubble = true
    阻止事件默认行为
    e.preventDefault()
    return false(javascript的return false只会阻止默认行为,而是用jQuery的话则既阻止默认行为又防止对象冒泡。)
    IE: e.returnValue = false
    事件委托/事件代理
    事件代理(Event Delegation),又称之为事件委托。即是把原本需要绑定在子元素的响应事件(click、keydown......)委托给父元素,让父元素担当事件监听的职务。事件代理的原理是DOM元素的事件冒泡。

      <ul id='box'>
        <li>aaa</li>
        <li>bbb</li>
      </ul>
    
      const box = document.getElementById('box')
      box.onclick = function (e) {
        console.log(e.target) //打印的是实际点击的li
      }
    

    jquery实现

    $('#box').on('click','li',function(){})
    

    相关文章

      网友评论

          本文标题:事件

          本文链接:https://www.haomeiwen.com/subject/xbgozktx.html