root / trunk / web / dojo / dojox / mobile / app / _event.js
History | View | Annotate | Download (2.05 KB)
| 1 | 9 | andrej.cim | /*
|
|---|---|---|---|
| 2 | Copyright (c) 2004-2010, The Dojo Foundation All Rights Reserved.
|
||
| 3 | Available via Academic Free License >= 2.1 OR the modified BSD license.
|
||
| 4 | see: http://dojotoolkit.org/license for details
|
||
| 5 | */
|
||
| 6 | |||
| 7 | |||
| 8 | if(!dojo._hasResource["dojox.mobile.app._event"]){ |
||
| 9 | dojo._hasResource["dojox.mobile.app._event"]=true; |
||
| 10 | dojo.provide("dojox.mobile.app._event");
|
||
| 11 | dojo.experimental("dojox.mobile.app._event.js");
|
||
| 12 | dojo.mixin(dojox.mobile.app,{eventMap:{},connectFlick:function(_1,_2,_3){
|
||
| 13 | var _4;
|
||
| 14 | var _5;
|
||
| 15 | var _6=false; |
||
| 16 | var _7;
|
||
| 17 | var _8;
|
||
| 18 | var _9;
|
||
| 19 | var _a;
|
||
| 20 | var _b;
|
||
| 21 | var _c;
|
||
| 22 | var _d=dojo.connect("onmousedown",_1,function(_e){ |
||
| 23 | _6=false;
|
||
| 24 | _4=_e.targetTouches?_e.targetTouches[0].clientX:_e.clientX;
|
||
| 25 | _5=_e.targetTouches?_e.targetTouches[0].clientY:_e.clientY;
|
||
| 26 | _c=(new Date()).getTime();
|
||
| 27 | _9=dojo.connect(_1,"onmousemove",_f);
|
||
| 28 | _a=dojo.connect(_1,"onmouseup",_10);
|
||
| 29 | }); |
||
| 30 | var _f=function(_11){ |
||
| 31 | dojo.stopEvent(_11); |
||
| 32 | _7=_11.targetTouches?_11.targetTouches[0].clientX:_11.clientX;
|
||
| 33 | _8=_11.targetTouches?_11.targetTouches[0].clientY:_11.clientY;
|
||
| 34 | if(Math.abs(Math.abs(_7)-Math.abs(_4))>15){ |
||
| 35 | _6=true;
|
||
| 36 | _b=(_7>_4)?"ltr":"rtl"; |
||
| 37 | }else{
|
||
| 38 | if(Math.abs(Math.abs(_8)-Math.abs(_5))>15){ |
||
| 39 | _6=true;
|
||
| 40 | _b=(_8>_5)?"ttb":"btt"; |
||
| 41 | } |
||
| 42 | } |
||
| 43 | }; |
||
| 44 | var _10=function(_12){ |
||
| 45 | dojo.stopEvent(_12); |
||
| 46 | _9&&dojo.disconnect(_9); |
||
| 47 | _a&&dojo.disconnect(_a); |
||
| 48 | if(_6){
|
||
| 49 | var _13={target:_1,direction:_b,duration:(new Date()).getTime()-_c}; |
||
| 50 | if(_2&&_3){
|
||
| 51 | _2[_3](_13); |
||
| 52 | }else{
|
||
| 53 | _3(_13); |
||
| 54 | } |
||
| 55 | } |
||
| 56 | }; |
||
| 57 | }}); |
||
| 58 | dojox.mobile.app.isIPhone=(dojo.isSafari&&(navigator.userAgent.indexOf("iPhone")>-1||navigator.userAgent.indexOf("iPod")>-1)); |
||
| 59 | dojox.mobile.app.isWebOS=(navigator.userAgent.indexOf("webOS")>-1); |
||
| 60 | if(dojox.mobile.app.isIPhone){
|
||
| 61 | dojox.mobile.app.eventMap={onmousedown:"ontouchstart",mousedown:"ontouchstart",onmouseup:"ontouchend",mouseup:"ontouchend",onmousemove:"ontouchmove",mousemove:"ontouchmove"};
|
||
| 62 | } |
||
| 63 | dojo._oldConnect=dojo._connect; |
||
| 64 | dojo._connect=function(obj,_14,_15,_16,_17){ |
||
| 65 | _14=dojox.mobile.app.eventMap[_14]||_14; |
||
| 66 | if(_14=="flick"||_14=="onflick"){ |
||
| 67 | if(window["Mojo"]){ |
||
| 68 | _14=Mojo.Event.flick; |
||
| 69 | }else{
|
||
| 70 | return dojox.mobile.app.connectFlick(obj,_15,_16);
|
||
| 71 | } |
||
| 72 | } |
||
| 73 | return dojo._oldConnect(obj,_14,_15,_16,_17);
|
||
| 74 | }; |
||
| 75 | } |