OSDN Git Service

SVGAnimationElementのイベント処理を修正
authordhrname <dhrname@users.sourceforge.jp>
Mon, 9 Jan 2012 14:32:59 +0000 (23:32 +0900)
committerdhrname <dhrname@users.sourceforge.jp>
Mon, 9 Jan 2012 14:32:59 +0000 (23:32 +0900)
org/w3c/dom/svg.js

index 86a0afa..8213bc0 100644 (file)
@@ -5249,11 +5249,13 @@ function SVGAnimationElement(es) {
           that[name](offset);
         } else if (val.indexOf("repeat(") > -1) { //2) repeat-valueの場合
           var inte = parseFloat(val.slice(7)),
-              ds = function (evt) {
-                if (inte === evt.target._numRepeat) {
-                  that[name](offset);
-                }
-              };
+              ds = (function(that, name, offset) {
+                return function (evt) {
+                   if (inte === evt.target._numRepeat) {
+                     that[name](offset);
+                   }
+                };
+              })(that, name, offset),
               id = searchId();
               if (id) {
                 that.ownerDocument.getElementById(id).addEventListener("repeatEvent", ds);
@@ -5263,9 +5265,11 @@ function SVGAnimationElement(es) {
         } else if ((/\.(begin|end)/).test(val)) { //3) syncbase-valueの場合
           id = searchId();
           if (id) {
-            var ds = function (evt) {
-                  that[name](offset);
-                },
+            var ds = (function(that, name, offset) {
+                  return function (evt) {
+                    that[name](offset);
+                  };
+                })(that, name, offset),
                 ev = "";
             if (RegExp.$1 === "begin") {
               ev = "beginEvent";
@@ -5281,11 +5285,14 @@ function SVGAnimationElement(es) {
           
         } else { //7) event-valueの場合
           id = searchId();
-          var ds = function (evt) {
-               that[name](offset);
-              };
+          var ds = (function(that, name, offset) {
+                return function (evt) {
+                   that[name](offset);
+                };
+              })(that, name, offset);
           if (id && val.match(/\.([a-z]+)/i)) {
             that.ownerDocument.getElementById(id).addEventListener(RegExp.$1, ds);
+            console.log(offset)
           } else if (val){
             that.targetElement.addEventListener(val.match(/^[a-z]+/i)[0], ds)
           }