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

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

    • 分享

      捕獲和冒泡

       yliu277 2016-01-03

      把事件捕獲和冒泡的過程統(tǒng)稱為事件的傳播

      事件的傳播是可以阻止的:

      • 在W3c中,使用stopPropagation()方法
      • 在IE下設置cancelBubble = true;
      在捕獲的過程中stopPropagation();后,后面的冒泡過程也不會發(fā)生了~  在IE中則使用cancelBubble(IE中只有冒泡,沒有捕獲)
      3.阻止事件的默認行為,例如click <a>后的跳轉~
      • 在W3c中,使用preventDefault()方法;
      • 在IE下設置window.event.returnValue = false;
      不是所有的事件都能冒泡,例如:blur、focus、load、unload,(這個是從別人的文章里摘過來的,我沒測試)

      JavaScript所有事件的兩個階段:捕獲和冒泡
      一下是一段簡單的HTML代碼

      <body>
           <ul>
                  <li>
                    click here
                 </li>
           </ul>
      </body>

      如果我們點擊了Li,則先回響應body的捕獲事件,接下來就是ul li ,然后進入冒泡時間,順序相反。
      如果我們分別設置了響應函數(shù),則會分別響應

      我們可以阻止冒泡

      function(e)
      {
         
      if (e && e.stopPropagation)
              // 支持W3C的stopPropation()方法
              e.stopPropagation
      () else
              // 否則,我們得使IE的方式來取消事件冒泡
              window.event.cancelBubble = true;

      }


      事實上,捕獲階段是一個和冒泡階段完全相反的過程,即事件由祖先元素向子元素傳播,和一個石子兒從水面向水底下沉一樣,要說明的是在IE,opera瀏覽器中,是不存在這個階段的。從各瀏覽器提供的注冊事件監(jiān)聽的方法中可見一斑,例如適用于ie,opera的attachEvent,有兩個參數(shù),attachEvent(”on” type,fn),而適用于所謂標準瀏覽器的addEventListener則有三個參數(shù),addEventListener(type,fn,boolean),前面兩個參數(shù)不用解釋,第三個參數(shù)boolean,就是決定注冊事件發(fā)生在捕獲階段還是冒泡階段,具體參考如下:

      true : 捕獲階段

      false : 冒泡階段



          對“捕獲”和“冒泡”這兩個概念,我想我們對冒泡更熟悉一些,因為在我們使用的所有瀏覽器中,都支持事件冒泡,即事件由子元素向祖先元素傳播的,就像氣泡從水底向水面上浮一樣。而在像firefox,chrome,safari這類所謂的標準瀏覽器中,事件傳播還有個階段,那就是捕獲階段,這個很少有用武之地,所以被人疏忽遺忘也在所難免了,不常用不代表它不存在,本著科學嚴謹?shù)膽B(tài)度,我們有必要去看一下它的廬山真面目。

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

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多