[Sie-announce] SIEコード [1727] Eventの重複問題を解決する修正

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2010年 3月 13日 (土) 21:07:38 JST


Revision: 1727
          http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=1727
Author:   dhrname
Date:     2010-03-13 21:07:38 +0900 (Sat, 13 Mar 2010)

Log Message:
-----------
Eventの重複問題を解決する修正

Modified Paths:
--------------
    branches/ufltima/dom/events.js

Modified: branches/ufltima/dom/events.js
===================================================================
--- branches/ufltima/dom/events.js	2010-03-13 11:15:06 UTC (rev 1726)
+++ branches/ufltima/dom/events.js	2010-03-13 12:07:38 UTC (rev 1727)
@@ -116,7 +116,7 @@
     s[s.length] = te;
     te = te.parentNode;
   } while (te);
-  s.unshift(this.ownerDocument);
+  s[s.length] = this.ownerDocument;
   /*最初に捕獲フェーズでDOMツリーを下っていき、イベントのターゲットについたら、
    *そこで、浮上フェーズとして折り返すように、反復処理をおこなう
    */
@@ -192,7 +192,8 @@
   /*void*/ initEvent : function( /*string*/ eventTypeArg, /*boolean*/ canBubbleArg, /*boolean*/ cancelableArg) {
     this.type = eventTypeArg;
     this.bubbles = canBubbleArg;
-    this.cacelable = cancelableArg;
+    this.cancelable = cancelableArg;
+    this.eventPhase = Event.CAPTURING_PHASE; //初期化
   }
 };
     // PhaseType
@@ -340,6 +341,8 @@
    *挿入されたときに発火する。間接的な挿入とは、サブツリーを作っておいて、それをいっぺんに挿入する場合など。
    *このイベントは浮上しないことに注意を要する
    */
+  evt = this.ownerDocument.createEvent("MutationEvents");
+  evt.target = n;
   evt.initMutationEvent("DOMNodeInsertedIntoDocument", false, false, null, null, null, null, null);
   n.dispatchEvent(evt);
   var descend = this.getElementsByTagNameNS("*", "*"); //全子孫要素を取得
@@ -380,6 +383,8 @@
       di = null;
     }
   }
+  evt = this.ownerDocument.createEvent("MutationEvents");
+  evt.target = ele;
   evt.initMutationEvent("DOMNodeRemoved", true, false, this, null, null, null, null);
   ele.dispatchEvent(evt);
   evt = descend = null;




Sie-announce メーリングリストの案内
Back to archive index