svnno****@sourc*****
svnno****@sourc*****
2010年 9月 17日 (金) 21:58:51 JST
Revision: 2005 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2005 Author: dhrname Date: 2010-09-17 21:58:51 +0900 (Fri, 17 Sep 2010) Log Message: ----------- Modified Paths: -------------- branches/06x/061/org/w3c/dom/svg.js Modified: branches/06x/061/org/w3c/dom/svg.js =================================================================== --- branches/06x/061/org/w3c/dom/svg.js 2010-09-17 11:38:29 UTC (rev 2004) +++ branches/06x/061/org/w3c/dom/svg.js 2010-09-17 12:58:51 UTC (rev 2005) @@ -4392,16 +4392,22 @@ tar = name = null; }, false); this.addEventListener("beginEvent", function(evt) { - var tar = evt.target, attrName = tar.getAttributeNS(null, "attributeName"); + var tar = evt.target; if (tar.targetElement) { + var attrName = tar.getAttributeNS(null, "attributeName"), newAttr = tar.targetElement.attributes.getNamedItemNS(null, attrName);console.log(newAttr); var tta = tar.targetElement[attrName]; if (!!tta) { var base = tta.baseVal; tta.baseVal = tar.ownerDocument.documentElement.createSVGLength(); - /*SMIL Animationの仕様においては、DOMの書き換えを - *禁じていることに注意。以下の方法は仕様を逸脱しているが、テストのために残している + /*setAttrbute(NS)メソッドはDOM属性を書き換えるため利用しない。 + * 参照:アニメーションサンドイッチモデル + *>アニメーションが起動している時,それは実際,DOMの中の属性値は変化しない。 + *http://www.jsa.or.jp/stdz/instac/syoukai/H13/H13annual_report/12/ngc-wg3/offline/smil_20_20020131/animation.html#animationNS-AnimationSandwichModel */ - tar.targetElement.setAttributeNS(null, attrName, tar._to); + var evt = tar.ownerDocument.createEvent("MutationEvents"); + evt.initMutationEvent("DOMAttrModified", true, false, newAttr, newAttr, tar._to, attrName, MutationEvent.MODIFICATION); + tar.targetElement.dispatchEvent(evt); + evt = null; /*変化値はanimValプロパティに収納しておき、 *変化する前の、元の値はbaseValプロパティに再び収納しておく */