[Sie-announce] SIEコード [2270] SVGTextContentElementについて、子要素がa要素の場合を追加

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2011年 1月 2日 (日) 23:14:03 JST


Revision: 2270
          http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2270
Author:   dhrname
Date:     2011-01-02 23:14:03 +0900 (Sun, 02 Jan 2011)

Log Message:
-----------
SVGTextContentElementについて、子要素がa要素の場合を追加

Modified Paths:
--------------
    branches/06x/067/org/w3c/dom/svg.js

Modified: branches/06x/067/org/w3c/dom/svg.js
===================================================================
--- branches/06x/067/org/w3c/dom/svg.js	2011-01-02 13:06:11 UTC (rev 2269)
+++ branches/06x/067/org/w3c/dom/svg.js	2011-01-02 14:14:03 UTC (rev 2270)
@@ -3451,6 +3451,10 @@
     /*Bubblingフェーズの時にはもう、div要素をDOMツリーに挿入しておく必要があるため、
      *あらかじめ、Capturingフェーズで処理しておく
      */
+    if (tar.localName === "a") {
+      /*a要素の場合はtarをすりかえておく*/
+      tar = tar.firstChild ? tar.firstChild : tar;
+    }
     if ((evt.eventPhase === Event.CAPTURING_PHASE) && (tar.nodeType === Node.TEXT_NODE) && !!!tar._tars) {
       /*Textノードにdiv要素を格納したリストをプロパティとして蓄えておく*/
       tar._tars = [];
@@ -3622,7 +3626,7 @@
             ++n;
           }
           chars += tli;
-          if (ti.parentNode.localName === "a") { //a要素が親である場合は、tiを親に戻しておく
+          if (ti.parentNode && (ti.parentNode.localName === "a")) { //a要素が親である場合は、tiを親に戻しておく
             ti = ti.parentNode;
           }
           ti = ti.nextSibling;
@@ -3651,6 +3655,8 @@
         } else if ((ti.localName === "a") && (ti.namespaceURI === "http://www.w3.org/2000/svg") && ti.firstChild) {
           /*a要素のテキストノードも処理する*/
           ti = ti.firstChild;
+        } else {
+          ti = ti.nextSibling;
         }
       }
       tar._isYokogaki = isYokogaki //getEndPositionOfCharメソッドなどで使う




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