イベントの伝達を即時終了

あいうえお
    
      <script type="text/javascript">
      // ------------------------------------------------------------
      // DOM オブジェクトのすべての子孫を検索する関数
      // ------------------------------------------------------------
      function DomNodeFindAllDescendants(node,func){
          function f(n){
              var nodes = n.childNodes;
              var i;
              var num = nodes.length;
              var a = new Array();
              for(i=0;i < num;i++){ a[i] = nodes[i]; }
              for(i=0;i < num;i++){
                  node = func(a[i]);
                  if(node){ return node; }
                  node = f(a[i]);
                  if(node){ return node; }
              }
              return null;
          }
          return f(node);
      }
      // イベントリスナーに対応している
      if(window.addEventListener){
          // ------------------------------------------------------------
          // マウスボタンをクリックしたときに実行される関数
          // ------------------------------------------------------------
          function MouseClickFunc(e){
              var current = e.currentTarget;
              console.log("カレント:" + current + "(" + current.nodeName + ")");
              console.log("イベントフェーズ:" + e.eventPhase);
              console.log("---");
  
              // ターゲットフェーズに到達した
              if (e.eventPhase == Event.AT_TARGET) {
                  // イベント通知の伝達を直ちに終了する
                  e.stopImmediatePropagation();
              }
          }
          // ------------------------------------------------------------
          // すべてのフェーズでリッスンを開始
          // ------------------------------------------------------------
          // ウィンドウにリスナーを登録
          window.addEventListener("click",MouseClickFunc,true );
          window.addEventListener("click",MouseClickFunc,false );
          // ドキュメントにリスナーを登録
          document.addEventListener("click",MouseClickFunc,true );
          document.addEventListener("click",MouseClickFunc,false );
          // コールバック関数を使って、ドキュメントのすべての子孫を検索
          DomNodeFindAllDescendants(document,function (node){
              // ドキュメントの子孫にリスナーを登録
              node.addEventListener("click",MouseClickFunc,true );
              node.addEventListener("click",MouseClickFunc,false );
              // 検索を継続
              return null;
          });
      }
    </script>