X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;ds=sidebyside;f=0.6.x%2Fjs%2F02_dom%2F03_XDomEvent.js;h=3910b6f05374ad05f35776845200f418c2f390e4;hb=d6670d07eb6589113c94af832862a93f2d010cdd;hp=3b1c59e903ec11a063d8d9b5ff5d90505a574e19;hpb=7911fddcbb190b99ad11412d283776ddbf77b479;p=pettanr%2FclientJs.git diff --git a/0.6.x/js/02_dom/03_XDomEvent.js b/0.6.x/js/02_dom/03_XDomEvent.js index 3b1c59e..3910b6f 100644 --- a/0.6.x/js/02_dom/03_XDomEvent.js +++ b/0.6.x/js/02_dom/03_XDomEvent.js @@ -21,7 +21,7 @@ var X_Dom_Event_devicePixelRatio = window.devicePixelRatio || ( window.screen.de if( !X_UA.IE || 9 <= X_UA.IE ){ X.Dom.Event = function( e, xnode ){ var originalType = e.type, - type, pointerType, + type, pointerEventType, touches, events, altKey, ctrlKey, metaKey, shiftKey, target, related, force, elm, i, n, time, touch, ev; @@ -36,6 +36,7 @@ if( !X_UA.IE || 9 <= X_UA.IE ){ this.source = e.source; break; case 'progress' : + this.lengthComputable = e.lengthComputable; this.loaded = e.loaded; this.total = e.total; break; @@ -98,17 +99,17 @@ if( !X_UA.IE || 9 <= X_UA.IE ){ this.offsetX = e.offsetX; this.offsetY = e.offsetY; } else - if( pointerType = X_Event_toPointer[ originalType ] ){ + if( pointerEventType = X_Event_toPointer[ originalType ] ){ // Touch or Mouse - //console.log( originalType + ' => ' + pointerType ); + //console.log( originalType + ' => ' + pointerEventType ); /* e.constructor === window.TouchEvent -> e.touches for iOS3.13 */ if( touches = e.changedTouches ){ - //console.log( originalType + ' => ' + pointerType ); + //console.log( originalType + ' => ' + pointerEventType ); if( touches.length === 0 ){ alert( 'e.changedTouches.length === 0' ); }; - xnode._cancelMouse = pointerType; + xnode._cancelMouse = pointerEventType; events = []; altKey = e.altKey; @@ -122,7 +123,7 @@ if( !X_UA.IE || 9 <= X_UA.IE ){ target = touch.target; related = touch.relatedTarget; events[ i ] = { - type : pointerType, + type : pointerEventType, pointerType : 'touch', target : X_Node_getXNode( target.nodeType === 3 ? target.parentNode : target ),// defeat Safari bug // xnodetouch.target, currentTarget : xnode, @@ -156,14 +157,14 @@ if( !X_UA.IE || 9 <= X_UA.IE ){ return events.length === 1 ? events[ 0 ] : events; } else { - if( xnode._cancelMouse === pointerType ){ + if( xnode._cancelMouse === pointerEventType ){ delete xnode._cancelMouse; console.log( '**** xnode._cancelMouse ' + xnode._cancelMouse ); return []; }; // MouseEvent; - this.type = type; + this.type = pointerEventType; this.pointerType = 'mouse'; this.button = e.button !== undefined ? e.button : @@ -228,7 +229,7 @@ if( !X_UA.IE || 9 <= X_UA.IE ){ if( e.deltaY !== undefined ){ this.deltaX = e.deltaX; this.deltaY = e.deltaY; - this.deltaZ = e.deltaZ; + this.deltaZ = e.deltaZ || 0; } else if( e.wheelDeltaY !== undefined ){ this.deltaX = e.wheelDeltaX / 120; @@ -259,7 +260,7 @@ if( !X_UA.IE || 9 <= X_UA.IE ){ this.type = X_Event_RenameTo[ originalType ] || originalType; this.target = X_Node_getXNode( e.srcElement ); // xnode - if( this.target && this.target._xnodeType === 3 ) this.target = this.target.parent; // ie4 の fake Textnode がヒットしていないか? + if( this.target && !this.target._tag ) this.target = this.target.parent; // ie4 の fake Textnode がヒットしていないか? this.currentTarget = xnode; // xnode this.relatedTarget = X_Node_getXNode( e.formElement || e.toElement ); // xnode this.eventPhase = e.srcElement === element ? 2: 3; @@ -341,14 +342,6 @@ if( !X_UA.IE || 9 <= X_UA.IE ){ }; }; -X.Dom.Event.ANIME_BEFORE_START = ++X_Event_last; -X.Dom.Event.ANIME_START = ++X_Event_last; -X.Dom.Event.ANIME = ++X_Event_last; -X.Dom.Event.ANIME_END = ++X_Event_last; -X.Dom.Event.ANIME_BEFORE_STOP = ++X_Event_last; // xnode.stop() のみ、指定時間による停止では呼ばれない -X.Dom.Event.ANIME_STOP = ++X_Event_last; - - // TODO load -> readystatechange this.readyState === "loaded" || this.readyState === "complete" /* X.Dom.Event._LOAD_FIX_TAGS = {