X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;ds=sidebyside;f=0.6.x%2Fjs%2F02_dom%2F03_XDomEvent.js;h=0700cec18002eb610b21322ef030976e12f360dd;hb=4afbf1b687e035eaf2c6b8bbf14e3c443d843d4e;hp=ec27fb1dabf3546c6549195b5d2a666be3bba0cf;hpb=57e35f063b4a70fcec59db6ec7366b43f41f0ba4;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 ec27fb1..0700cec 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; @@ -29,6 +29,19 @@ if( !X_UA.IE || 9 <= X_UA.IE ){ //this._event = e; this.type = type = X_Event_RenameTo[ originalType ] || originalType; + switch( type ){ + case 'message' : + this.data = e.data; + this.origin = e.origin; + this.source = e.source; + break; + case 'progress' : + this.lengthComputable = e.lengthComputable; + this.loaded = e.loaded; + this.total = e.total; + break; + }; + //console.log( 'original : ' + originalType + ' > ' + type ); // http://msdn.microsoft.com/ja-jp/library/ie/dn304886%28v=vs.85%29.aspx // ポインター イベントの更新 @@ -86,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; @@ -110,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, @@ -144,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 : @@ -216,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; @@ -257,6 +270,19 @@ if( !X_UA.IE || 9 <= X_UA.IE ){ this.ctrlKey = e.ctrlKey; this.shiftKey = e.shiftKey; + + switch( this.type ){ + case 'message' : + this.data = e.data; + this.origin = e.origin; + this.source = e.source; + break; + case 'progress' : + this.loaded = e.loaded; + this.total = e.total; + break; + }; + // http://www.programming-magic.com/20090127231544/ switch( originalType ){ case 'click' :