乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      DOM中監(jiān)聽節(jié)點(diǎn)變化的事件(變動(dòng)事件)的用法

       三十的狼 2019-02-11

      DOM變動(dòng)事件的用法

      ??DOM2級(jí)的変動(dòng)事件是為XML或html的DOM設(shè)計(jì)的,不特定于某種語言。
      一:變動(dòng)事件的分類有7種,最常用的瀏覽器支持最多的有3種,下面黑體?
      1. DOMSubtreeModified:在DOM結(jié)構(gòu)中發(fā)生任何變化時(shí)觸發(fā);
      2. DOMNodeInserted:在一個(gè)節(jié)點(diǎn)作為子節(jié)點(diǎn)被插入到另一個(gè)節(jié)點(diǎn)中時(shí)觸發(fā);
      3. DOMNodeRemoved:在節(jié)點(diǎn)從其父節(jié)點(diǎn)中被移除時(shí)觸發(fā);
      4. DOMNodeInsertedIntoDocument:在一個(gè)節(jié)點(diǎn)被直接插入文檔中或者通過子樹間接插入文檔后觸發(fā)。在DOMNodeInserted之后觸發(fā);
      5. DOMNodeRemovedFromDocument:在一個(gè)節(jié)點(diǎn)被直接從文檔中刪除或通過子樹間接從文檔中移除之前觸發(fā)。在DOMNodeRemoved之后觸發(fā)。
      6. DOMAttrModified:在特性被修改之后觸發(fā);
      7. DOMCharacterDataModified:在文本節(jié)點(diǎn)的值發(fā)生變化的時(shí)候觸發(fā)。
      二:刪除節(jié)點(diǎn)檢測?

      • 首先觸發(fā)的是DOMNodeRemoved事件,它對(duì)應(yīng)的event對(duì)象中的target屬性值是被刪除的節(jié)點(diǎn),relatedNode屬性值是被刪除節(jié)點(diǎn)的父節(jié)點(diǎn),該事件會(huì)冒泡;
      • 其次出發(fā)的是DOMNodeRemovedFromDocument事件,它對(duì)應(yīng)的event對(duì)象中的target屬性值為指定的被刪除的子節(jié)點(diǎn)。只有綁定到它的子節(jié)點(diǎn)上才能被觸發(fā)。
      • 最后觸發(fā)的是DOMSubtreeModified事件。這個(gè)事件對(duì)應(yīng)event對(duì)象中的target屬性是被移除節(jié)點(diǎn)的父節(jié)點(diǎn)。
        (下面注釋的序號(hào)為觸發(fā)的順序:)
          function getFirstChild(obj){   // 獲取第一子節(jié)點(diǎn)(找到第一個(gè)不為空的節(jié)點(diǎn))
              var first = obj.firstChild;
              while(first.nodeType != 1){
                  first = first.nextSibling;
              }
              return first;
          }
          EventUtil.addHandler(window,"load",function(event){
              var list = document.getElementById('myList');
              var btn = document.getElementById("mbtn");
      
              EventUtil.addHandler(document,"DOMNodeRemoved",function(event){
                  console.log(event.type);        //1:DOMNodeRemoved
                  console.log(event.target);      //2:ul節(jié)點(diǎn),即被刪除的節(jié)點(diǎn)
                  console.log(event.relatedNode); //3:body節(jié)點(diǎn),即被刪除節(jié)點(diǎn)的父節(jié)點(diǎn)
              })
              EventUtil.addHandler(getFirstChild(list),"DOMNodeRemovedFromDocument",function(event){
                  console.log(event.type)         //4:DOMNodeRemovedFromDocument
                  console.log(event.target)       //5:li節(jié)點(diǎn),即<li>item1</li>
              });
              EventUtil.addHandler(document,"DOMSubtreeModified",function(event){
                  console.log(event.type);        //6:DOMSubtreeModified
                  console.log(event.target);      //7:body節(jié)點(diǎn),即被刪除節(jié)點(diǎn)的父節(jié)點(diǎn)
              })
              EventUtil.addHandler(btn,'click',function(event){
                  list.parentNode.removeChild(list);  //
              })
          })
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
      • 20
      • 21
      • 22
      • 23
      • 24
      • 25
      • 26
      • 27
      • 28

      三:插入節(jié)點(diǎn)檢測?
      ??在使用appendChild()、replaceChild()或insertBefore()向DOM中插入節(jié)點(diǎn)的時(shí)候:

      • 首先觸發(fā)DOMInserted事件,它對(duì)應(yīng)的event對(duì)象中的target屬性為添加的節(jié)點(diǎn),relateNode屬性對(duì)應(yīng)被添加節(jié)點(diǎn)的父節(jié)點(diǎn)。(可冒泡);
      • 其次觸發(fā)的是DOMNodeInsertedIntoDocument事件,它對(duì)應(yīng)的event對(duì)象中的target屬性是添加的節(jié)點(diǎn),只有指定給一個(gè)子節(jié)點(diǎn)的事件處理程序才會(huì)被調(diào)用
      • 最后出發(fā)的是DOMSubtreeModified事件,它對(duì)應(yīng)的event對(duì)象長得target屬性值是新節(jié)點(diǎn)的父節(jié)點(diǎn)。
        代碼如下所示:
          function getFirstChild(obj){   // 獲取第一子節(jié)點(diǎn)(找到第一個(gè)不為空的節(jié)點(diǎn))
              var first = obj.firstChild;
              while(first.nodeType != 1){
                  first = first.nextSibling;
              }
              return first;
          }
          EventUtil.addHandler(window,"load",function(event){
              var list = document.getElementById('myList');
              var btn = document.getElementById("mbtn");
              var item4 = document.createElement('li');
              var item4Text = document.createTextNode('item4');
      
              EventUtil.addHandler(document,"DOMNodeInserted",function(event){
                  console.log(event.type);        //1:DOMNodeInserted
                  console.log(event.target);      //2:li節(jié)點(diǎn),即被添加的節(jié)點(diǎn)
                  console.log(event.relatedNode); //3:ul節(jié)點(diǎn),即被添加節(jié)點(diǎn)的父節(jié)點(diǎn)
              });
              EventUtil.addHandler(item4,"DOMNodeInsertedIntoDocument",function(event){
                  console.log(event.type);        //4:DOMNodeInsertedIntoDocument
                  console.log(event.target);      //5:li節(jié)點(diǎn),即被添加的節(jié)點(diǎn)<li>item4</li>
              });
              EventUtil.addHandler(document,"DOMSubtreeModified",function(event){
                  console.log(event.type);        //6:DOMSubtreeModified
                  console.log(event.target);      //7:ul節(jié)點(diǎn),即被觸發(fā)節(jié)點(diǎn)的父節(jié)點(diǎn)
              })
              EventUtil.addHandler(btn,'click',function(){
                  item4.appendChild(item4Text);     getFirstChild
      
                  list.replaceChild(item4,getFirstChild(list));
              });
          })
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
      • 20
      • 21
      • 22
      • 23
      • 24
      • 25
      • 26
      • 27
      • 28
      • 29
      • 30
      • 31
      • 32

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多