📄 jsx.js
字号:
jsx3.Class.defineInterface("jsx3.util.EventDispatcher",null,function(c,m){c.Gu=1;c.vA=2;c.Hr=3;c.pE=4;c.hi=5;m._jsxby=null;m.subscribe=function(e,g,k){var zc=typeof(g);var Nc=typeof(k);var D=null;if(zc=="object"){if(Nc=="function"){D=[c.Gu,g,k];}else{if(Nc=="string"){D=[c.vA,g,k];}}}else{if(zc=="string"){if(Nc=="function"){D=[c.Hr,g,k];}else{if(Nc=="string"){D=[c.pE,g,k];}}}else{if(zc=="function"){D=[c.hi,g];}}}if(D==null&&zc=="object"&&g.call&&g.apply)D=[c.hi,g];if(D==null){throw new jsx3.IllegalArgumentException("objHandler, objFunction","{"+typeof(g)+"}, {"+typeof(k)+"}");}if(!(e instanceof Array))e=[e];for(var Qb=0;Qb<e.length;Qb++){var tc=this.qo();var eb=tc[e[Qb]];if(eb==null)eb=tc[e[Qb]]=new jsx3.util.List();eb.add(D);}};m.unsubscribe=function(s,j){if(!(s instanceof Array))s=[s];for(var rc=0;rc<s.length;rc++){var jc=this.qo()[s[rc]];if(jc!=null){for(var E=jc.iterator();E.hasNext();){if(E.next()[1]===j)E.remove();}}}};m.unsubscribeAll=function(j){delete this.qo()[j];};m.unsubscribeAllFromAll=function(){this._jsxby={};};m.publish=function(b){if(b.target==null)b.target=this;var Y=b.subject;if(Y==null)throw new jsx3.IllegalArgumentException("objEvent",b);var cc=this.qo()[Y];if(cc==null)return 0;cc=cc.clone();for(var R=cc.iterator();R.hasNext();){var S=R.next();var tb=S[0];var yc=S[1];var db=S[2];if(tb==c.Gu){db.call(yc,b);}else{if(tb==c.vA){if(typeof(yc[db])=="function")yc[db](b);else throw new jsx3.Exception("No method '"+db+"' on subscriber "+yc+".");}else{if(tb==c.Hr){var Fc=this.getServer().getJSX(yc);if(Fc)db.call(Fc,b);}else{if(tb==c.pE){var Fc=this.getServer().getJSX(yc);if(Fc)Fc[db](b);}else{if(tb==c.hi){yc.call(null,b);}else{jsx3.util.Logger.getLogger(c.jsxclass.getName()).error("EVDP03");}}}}}}return cc.size();};m.getSubscriberCount=function(e){var cc=this.qo()[e];return cc!=null?cc.size():0;};m.qo=function(){if(this._jsxby==null)this._jsxby={};return this._jsxby;};});jsx3.Class.defineClass("jsx3.net.URI",null,null,function(s,f){s.ZF="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";s.Sy="0123456789";s.lk=s.ZF+s.Sy;s.Li=s.lk+"_-!.~'()*";s.ho=",;:$&+=";s.Vc=s.ho+"?/[]@";s.YC="%";s.bm=new RegExp("^["+s.ZF+"][\\-\\.\\+"+s.ZF+"]*\\:");f.Hi=null;f.jE=null;f.xv=null;f.kn=null;f.Vk=null;f.Od=null;f.Gh=null;f.cs=null;f.Uv=null;f.ms=null;s.fromParts=function(k,p,e,m,o,r,l){var sc=s.jsxclass.bless();var wb=arguments;var B=null,N=null;if(wb.length==3){sc.jE=wb[0];N=s.encode(wb[1],s.Li+s.Vc+s.YC);sc.xv=s.decode(wb[1]);sc.kn=s.decode(wb[2]);}else{if(wb.length==7){sc.jE=wb[0];sc.cs=s.decode(wb[1]);sc.Uv=wb[2];sc.ms=wb[3];sc.Od=s.decode(wb[4]);sc.Gh=s.decode(wb[5]);sc.kn=s.decode(wb[6]);}else{throw new jsx3.Exception("arguments.length = "+wb.length);}}if(sc.Vk==null&&sc.Uv!=null){sc.Vk=B=sc.Uv;if(sc.cs){sc.Vk=sc.cs+"@"+sc.Vk;B=s.encode(sc.cs,s.Li+s.ho+s.YC)+"@"+B;}if(sc.ms){sc.Vk=sc.Vk+":"+sc.ms;B=B+":"+sc.ms;}}if(sc.xv==null){sc.xv=N="";if(sc.Od){sc.xv=sc.Od;N=s.encode(sc.Od,s.Li+s.ho+s.YC+"/@");}if(sc.Vk!=null){sc.xv="//"+sc.Vk+sc.xv;N="//"+B+N;}if(sc.Gh){sc.xv=sc.xv+"?"+sc.Gh;N=N+"?"+s.encode(sc.Gh,s.Li+s.ho+s.YC);}}if(sc.Hi==null){sc.Hi=N;if(sc.jE)sc.Hi=sc.jE+":"+sc.Hi;if(sc.kn)sc.Hi=sc.Hi+"#"+s.encode(sc.kn,s.Li+s.Vc+s.YC);}return sc;};f.init=function(j){if(j==null)j="";if(typeof(j)!="string")j=j.toString();this.Hi=j;var Jb=j;var Ub;if(s.bm.test(Jb)){var Bc=RegExp.lastMatch;this.jE=Jb.substring(0,Bc.length-1);Jb=Jb.substring(Bc.length);}if((Ub=Jb.indexOf("#"))>=0){this.kn=s.decode(Jb.substring(Ub+1));Jb=Jb.substring(0,Ub);}this.xv=Jb;var Z=this.jE!=null;var Eb=Z&&Jb.indexOf("/")!=0;if(!Eb){if(Jb.indexOf("//")==0){Ub=Jb.indexOf("/",2);this.Vk=Jb.substring(2,Ub>=0?Ub:Jb.length);Jb=Ub>=0?Jb.substring(Ub):"";}if((Ub=Jb.indexOf("?"))>=0){this.Gh=s.decode(Jb.substring(Ub+1));Jb=Jb.substring(0,Ub);}this.Od=s.decode(Jb);var Mb=this.Vk;if(Mb){if((Ub=Mb.indexOf("@"))>=0){this.cs=s.decode(Mb.substring(0,Ub));Mb=Mb.substring(Ub+1);}if((Ub=Mb.indexOf(":"))>=0){this.ms=parseInt(Mb.substring(Ub+1));Mb=Mb.substring(0,Ub);}}this.Uv=Mb;}};f.normalize=function(){if(jsx3.util.strEmpty(this.Od))return this;var Lb=this.Od.split("/");s.tw(Lb);var u=Lb.join("/");return u==this.Od?this:s.fromParts(this.jE,this.cs,this.Uv,this.ms,u,this.Gh,this.kn);};s.tw=function(g){for(var V=g.length-1;V>=0;V--){if(g[V]==".")g.splice(V,1);}for(var V=0;V<g.length;V++){if(V>0&&g[V]==".."&&g[V-1]!=".."){g.splice(V-1,2);V=V-2;}}if(g[0]!=null&&g[0].indexOf(":")>=0)g.unshift("",".");};f.resolve=function(a){a=s.valueOf(a);if(this.Hi=="")return a;if(a.isAbsolute()||this.isOpaque())return a;if(a.getFragment()&&!a.getPath()&&!a.getScheme()&&!a.getAuthority()&&!a.getQuery())return s.fromParts(this.jE,this.cs,this.Uv,this.ms,this.Od,this.Gh,a.getFragment());var Kb=this.getScheme();var uc=a.getQuery();var xc=a.getFragment();var V=null,mb=null,nb=null,wb=null;if(a.getAuthority()!=null){V=a.getUserInfo();mb=a.getHost();nb=a.getPort();wb=a.getPath();}else{V=this.getUserInfo();mb=this.getHost();nb=this.getPort();if(a.getPath().indexOf("/")==0){wb=a.getPath();}else{var E=this.getPath().split("/");E.pop();E.pushAll(a.getPath().split("/"));s.tw(E);wb=E.join("/");}}return s.fromParts(Kb,V,mb,nb,wb,uc,xc);};f.relativize=function(r){r=s.valueOf(r);if(this.Hi=="")return r;if(this.isOpaque()||r.isOpaque())return r;if(this.getScheme()!=r.getScheme())return r;var y=this.Vk!=null?this.Vk:"";var Ib=r.Vk!=null?r.Vk:"";if(y!=Ib)return r;var ib=this.getPath()||"";var Vb=r.getPath()||"";var Yb=ib.split("/");Yb.pop();var R=Vb.split("/");var Lb=[];var Gb=0;while(Gb<Yb.length&&Gb<R.length){if(Yb[Gb]!=R[Gb])break;Gb++;}if(Gb<2&&ib.indexOf("/")==0)return r;for(var Mb=Gb;Mb<Yb.length;Mb++)Lb.push("..");for(var Mb=Gb;Mb<R.length;Mb++)Lb.push(R[Mb]);var W=Lb.join("/");return s.fromParts(null,null,null,null,W,r.Gh,r.kn);};f.getAuthority=function(){return this.Vk;};f.getFragment=function(){return this.kn;};f.getHost=function(){return this.Uv;};f.getPath=function(){return this.Od;};f.getPort=function(){return this.ms;};f.getQuery=function(){return this.Gh;};f.getQueryParam=function(b){var fc=this.Gh;if(fc){var t=0;var Ic=b.length;var Qb=null;while((Qb=fc.indexOf(b,t))>=0){if(Qb==0||fc.charAt(Qb-1)=="&"){var ec=fc.charAt(Qb+Ic);if(ec=="&"||jsx3.util.strEmpty(ec)){return true;}else{if(ec=="="){var Vb=fc.indexOf("&",Qb+Ic+1);return Vb>=0?fc.substring(Qb+Ic+1,Vb):fc.substring(Qb+Ic+1);}}}t=Qb+Ic;}}return null;};f.getQueryParams=function(){var Tb={};if(this.Gh){var ib=this.Gh.split("&");for(var y=0;y<ib.length;y++){var Rb=ib[y];var ab=Rb.indexOf("=");if(ab>=0){Tb[Rb.substring(0,ab)]=Rb.substring(ab+1);}else{Tb[Rb]=true;}}}return Tb;};f.getScheme=function(){return this.jE;};f.getSchemeSpecificPart=function(){return this.xv;};f.getUserInfo=function(){return this.cs;};f.isAbsolute=function(){return this.jE!=null;};f.isOpaque=function(){return this.jE!=null&&this.xv.indexOf("/")!=0;};f.equals=function(o){if(this==o)return true;if(!(o instanceof jsx3.net.URI))return false;return this.Hi==o.Hi;};f.toString=function(){return this.Hi;};s.encode=function(q,j){if(q==null)return null;if(j==null)j=s.Li;var mc=new RegExp("^["+j.replace(/(\W)/g,"\\$1")+"]*$");if(q.match(mc))return q;var Bc=q.length;var Gb=new Array(Bc);for(var P=0;P<Bc;P++){var J=q.charAt(P);if(j.indexOf(J)<0){var Mc=J.charCodeAt(0);if(Mc<16){Gb[P]="%0"+Mc.toString(16).toUpperCase();}else{if(Mc<256){Gb[P]="%"+Mc.toString(16).toUpperCase();}else{Gb[P]=J;}}}else{Gb[P]=J;}}return Gb.join("");};s.decode=function(o){if(o==null)return null;if(o.indexOf("%")<0)return o;var _=o.length;var Bb=new Array(_);var sc=0;for(var db=0;db<o.length;db++){var rb=o.charAt(db);if(rb=="%"){var ab=o.substring(db+1,db+3);if(ab.match(/[^a-fA-F0-9]/)){Bb[sc++ ]=rb;}else{Bb[sc++ ]=String.fromCharCode(parseInt(ab,16));db=db+2;}}else{Bb[sc++ ]=rb;}}return Bb.join("");};s.valueOf=function(j){if(jsx3.util.strEmpty(j))return s.lC;return j instanceof s?j:new s(j);};s.lC=new s();});jsx3.Class.defineClass("jsx3.gui.Event",null,null,function(k,a){k.BEFOREUNLOAD="beforeunload";k.BLUR="blur";k.CHANGE="change";k.CLICK="click";k.DOUBLECLICK="dblclick";k.ERROR="error";k.FOCUS="focus";k.KEYDOWN="keydown";k.KEYPRESS="keypress";k.KEYUP="keyup";k.LOAD="load";k.MOUSEDOWN="mousedown";k.MOUSEMOVE="mousemove";k.MOUSEOUT="mouseout";k.MOUSEOVER="mouseover";k.MOUSEUP="mouseup";k.MOUSEWHEEL="mousewheel";k.UNLOAD="unload";k.RESIZE="resize";k.KEY_ALT=18;k.KEY_ARROW_DOWN=40;k.KEY_ARROW_LEFT=37;k.KEY_ARROW_RIGHT=39;k.KEY_ARROW_UP=38;k.KEY_BACKSPACE=8;k.KEY_CONTROL=17;k.KEY_DELETE=46;k.KEY_END=35;k.KEY_ENTER=13;k.KEY_ESCAPE=27;k.KEY_HOME=36;k.KEY_INSERT=45;k.KEY_META=-1;k.KEY_PAGE_DOWN=34;k.KEY_PAGE_UP=33;k.KEY_SHIFT=16;k.KEY_SPACE=32;k.KEY_TAB=9;k.KEY_0=48;k.KEY_9=57;k.KEY_A=65;k.KEY_Z=90;k.KEY_F1=112;k.KEY_F15=126;k.tG=[];k.Fy=[];k.Eh=jsx3.util.EventDispatcher.jsxclass.newInnerClass();k.dm=[];var y=null;k.HD=function(){if(k._LOG==null){if(jsx3.Class.forName("jsx3.util.Logger")!=null){y=jsx3.util.Logger;k._LOG=y.getLogger(k.jsxclass.getName());}}return k._LOG;};k._registerWindow=function(s){var cc=k.HD();if(cc!=null&&cc.isLoggable(y.DEBUG))cc.debug("registering window "+s.name);k.tG.push(s);k.Fy.push({});k.dm.push({});};k._deregisterWindow=function(n){var vb=k.tG.indexOf(n);if(vb>=0){var x=k.HD();if(x!=null&&x.isLoggable(y.DEBUG))x.debug("deregistering window "+n.name);k.tG.splice(vb,1);k.Fy.splice(vb,1);k.dm.splice(vb,1);}else{throw new jsx3.Exception("Window "+n+" not registered.");}};k._registerWindow(window);k.subscribe=function(h,b,s){k.Eh.subscribe(h,b,s);var Rb="on"+h;var u=k.HD();if(u!=null&&u.isLoggable(y.DEBUG))u.debug("Subscribing to event "+h+": "+b.toString().substring(0,50).replace(/\s+/g," "));for(var H=0;H<k.tG.length;H++){try{var hb=k.tG[H];var Kc=k.bC(hb,h);if(Kc.attachEvent&&k.Vj(h)){var Cc=k.dm[H];if(!Cc[h]){if(u!=null&&u.isLoggable(y.DEBUG))u.debug("attaching event listener "+h+" to "+Kc+".");Kc.attachEvent(Rb,k.Js);Cc[h]=true;}}else{if(Kc.addEventListener&&k.Tg(h)){var Cc=k.dm[H];if(!Cc[h]){if(u!=null&&u.isLoggable(y.DEBUG))u.debug("adding event listener "+h+" to "+Kc+".");Kc.addEventListener(h,k.Js,false);Cc[h]=true;}}else{var Hc=k.Fy[H];if(Kc[Rb]!=k.Js){if(u!=null&&u.isLoggable(y.DEBUG))u.debug("setting event handler "+Rb+" on "+Kc+".");if(Kc[Rb]!=null)Hc[Rb]=Kc[Rb];Kc[Rb]=k.Js;}}}}catch(Nc){if(u!=null&&u.isLoggable(y.DEBUG))u.debug("error subscribing to event "+h,jsx3.NativeError.wrap(Nc));k._deregisterWindow(hb);H--;}}};k.subscribeLoseFocus=function(b,i,h){this.subscribe("focusin",b,function(m){var hb=m.event.srcElement();while(hb!=null){if(hb==i)return;hb=hb.parentNode;}if(typeof(h)=="function")h.call(b,m);else b[h](m);});};k.unsubscribeLoseFocus=function(g){this.unsubscribe("focusin",g);};k.preventSelection=function(f){f.selection.createRange();};k.unsubscribe=function(o,r){var E=k.HD();if(E!=null&&E.isLoggable(y.DEBUG))E.debug("Unsubscribing from event "+o+": "+r.toString().substring(0,50).replace(/\s+/g," "));k.Eh.unsubscribe(o,r);if(k.Eh.getSubscriberCount(o)==0)k.ki(o);};k.unsubscribeAll=function(l){var Fb=k.HD();if(Fb!=null&&Fb.isLoggable(y.DEBUG))Fb.debug("Unsubscribing all from event "+l+".");k.Eh.unsubscribeAll(l);k.ki(l);};k.publish=function(i){var H={subject:i.getType(),target:k,event:i};k.ui(H);};k.ui=function(b){var tc="on"+b.subject.toLowerCase();var xc=k.HD();if(xc!=null&&xc.isLoggable(y.TRACE))xc.trace("Publishing event: "+tc+".");var Jc=k.Fy[0];if(Jc[tc]!=null)Jc[tc]();k.Eh.publish(b);};k.Js=function(c){var W=new k(c!=null?c:window.event);var V=k.HD();if(V!=null&&V.isLoggable(y.TRACE))V.trace("Handling event: "+W.getType()+".");var lc={subject:W.getType(),target:k,event:W};k.ui(lc);if(lc.returnValue)return lc.returnValue;};k.ki=function(s){var Ub="on"+s;var ib=k.HD();for(var gb=0;gb<k.tG.length;gb++){try{var ec=k.tG[gb];var M=k.bC(ec,s);if(M.attachEvent&&k.Vj(s)){var rb=k.dm[gb];if(rb[s]){if(ib!=null&&ib.isLoggable(y.DEBUG))ib.debug("detaching event listener "+s+" from "+M);M.detachEvent(Ub,k.Js);rb[s]=false;}}else{if(M.removeEventListener&&k.Tg(s)){var rb=k.dm[gb];if(rb[s]){if(ib!=null&&ib.isLoggable(y.DEBUG))ib.debug("removing event listener "+s+" from "+M+".");M.removeEventListener(s,k.Js,false);rb[s]=false;}}else{var sb=k.Fy[gb];if(ib!=null&&ib.isLoggable(y.DEBUG))ib.debug("unsetting event handler "+Ub+" on "+M+".");if(sb[Ub]!=null){M[Ub]=sb[Ub];delete sb[Ub];}else{M[Ub]=null;}}}}catch(Kc){if(ib!=null&&ib.isLoggable(y.DEBUG))ib.debug("error subscribing to event "+s,jsx3.NativeError.wrap(Kc));k._deregisterWindow(ec);gb--;}}};k.bC=function(b,l){return l==k.BEFOREUNLOAD||l==k.UNLOAD||l==k.RESIZE?b:b.document;};k.Vj=function(j){return j!=k.BEFOREUNLOAD;};k.Tg=function(g){return g!=k.BEFOREUNLOAD;};a.init=function(m,g){this.gC=m;if(g)this._clone=jsx3.clone(m);};a._0=function(){if(this._clone==null)this._clone=jsx3.clone(this.gC);this._clone._jsxBs=true;};k.wrap=function(i,h){return i instanceof k?i:new k(i,h);};k.getCurrent=function(q){return window.event?new k(window.event,q):null;};a.iF=function(){try{if(this.gC==null)return this._clone;else{if(typeof(this.gC.type)=="string")return this.gC;}}catch(Kc){}this.gC=null;return this._clone;};a.event=function(){return this.iF();};a.getType=function(){return this.iF().type;};a.srcElement=function(){var ic=this.iF();return ic.target||ic.srcElement;};a.toElement=function(){var Ub=this.iF();return Ub.toElement;};a.fromElement=function(){var z=this.iF();return z.fromElement;};a.isMouseEvent=function(){var Mb=this.getType()||"";return Mb.indexOf("mouse")==0||Mb==k.CLICK||Mb==k.DOUBLECLICK;};a.isKeyEvent=function(){return (this.getType()||"").indexOf("key")==0;};a.setCapture=function(h){h.setCapture();};a.releaseCapture=function(h){h.releaseCapture();};a.keyCode=function(){var yc=this.iF();return yc.keyCode;};a.clientX=function(){var x=this.iF();return x?x.clientX:Number.NaN;};a.clientY=function(){var E=this.iF();return E?E.clientY:Number.NaN;};a.getOffsetX=function(){return this.iF().offsetX-this.iF().srcElement.scrollLeft;};a.getOffsetY=function(){return this.iF().offsetY-this.iF().srcElement.scrollTop;};a.getScreenX=function(){return this.iF().screenX;};a.getScreenY=function(){return this.iF().screenY;};a.getTrueX=function(){return this.iF().clientX;};a.getTrueY=function(){return this.iF().clientY;};a.getWheelDelta=function(){var L=this.iF().wheelDelta;return L>0?1:L<0?-1:0;};a.shiftKey=function(){var bb=this.iF();return bb.shiftKey;};a.ctrlKey=function(){var zc=this.iF();return zc.ctrlKey;};a.altKey=function(){var rb=this.iF();return rb.altKey;};a.metaKey=function(){return false;};a.enterKey=function(){return this.iF().keyCode==k.KEY_ENTER;};a.spaceKey=function(){return this.iF().keyCode==k.KEY_SPACE;};a.tabKey=function(){return this.iF().keyCode==k.KEY_TAB;};a.rightArrow=function(){return this.iF().keyCode==k.KEY_ARROW_RIGHT;};a.leftArrow=function(){return this.iF().keyCode==k.KEY_ARROW_LEFT;};a.upArrow=function(){return this.iF().keyCode==k.KEY_ARROW_UP;};a.downArrow=function(){return this.iF().keyCode==k.KEY_ARROW_DOWN;};a.deleteKey=function(){return this.iF().keyCode==k.KEY_DELETE;};a.backspaceKey=function(){return this.iF().keyCode==k.KEY_BACKSPACE;};a.insertKey=function(){return this.iF().keyCode==k.KEY_INSERT;};a.homeKey=function(){return this.iF().keyCode==k.KEY_HOME;};a.endKey=function(){return this.iF().keyCode==k.KEY_END;};a.pageUpKey=function(){return this.iF().keyCode==k.KEY_PAGE_UP;};a.pageDownKey=function(){return this.iF().keyCode==k.KEY_PAGE_DOWN;};a.escapeKey=function(){return this.iF().keyCode==k.KEY_ESCAPE;};a.exists=function(){return this.iF()!=null;};a.cancelBubble=function(){var rb=this.iF();rb.cancelBubble=true;};a.cancelReturn=function(){this.iF().returnValue=false;};a.cancelKey=function(){var yc=this.iF();yc.keyCode=0;yc.returnValue=false;};a.cancelAll=function(){this.cancelBubble();this.cancelKey();this.cancelReturn();};a.leftButton=function(){var bc=this.iF();if(jsx3.app.Browser.macosx&&bc.ctrlKey)return false;var ib=this.getType();if(ib==k.MOUSEDOWN||ib==k.MOUSEUP){return bc.button==1;}else{if(ib==k.CLICK||ib==k.DOUBLECLICK){return bc.button==0;}}return false;};a.rightButton=function(){var I=this.iF();var Jc=this.getType();if(Jc==k.MOUSEDOWN||Jc==k.MOUSEUP)return I.button==2||jsx3.app.Browser.macosx&&I.ctrlKey;else return false;};a.button=function(){var tb=this.iF();return tb.button;};a.setReturn=function(p){this.iF().returnValue=p;};a.setKeyCode=function(l){this.iF().keyCode=l;};a.isModifierKey=function(){var M=this.iF();return M.keyCode==k.KEY_SHIFT||M.keyCode==k.KEY_CONTROL||M.keyCode==k.KEY_ALT||M.keyCode==k.KEY_META;};a.hasModifier=function(f){return !f&&this.shiftKey()||this.ctrlKey()||this.altKey()||this.metaKey();};a.isArrowKey=function(){var uc=this.keyCode();return uc>=k.KEY_ARROW_LEFT&&uc<=k.KEY_ARROW_DOWN;};a.isFunctionKey=function(){var A=this.keyCode();return A>=k.KEY_F1&&A<=k.KEY_F15;};a.getAttribute=function(l){return k.Sc!=null?k.Sc[l]:null;};a.setAttribute=function(e,j){if(k.Sc==null){k.Sc={};jsx3.sleep(function(){delete k.Sc;},"jsx3.gui.Event.setAttribute");}k.Sc[e]=j;};a.removeAttribute=function(c){if(k.Sc!=null)delete k.Sc[c];};k.dispatchMouseEvent=function(l,i,c){var xc=l.ownerDocument.createEventObject();if(c){for(var Jc in c)xc[Jc]=c[Jc];}l.fireEvent("on"+i,xc);};k.dispatchKeyEvent=function(m,j,l,i,p,h,d){var w=m.ownerDocument.createEventObject();if(d){for(var Fc in d)w[Fc]=d[Fc];}w.keyCode=l;w.shiftKey=w.shiftLeft=i;w.ctrlKey=p;w.altKey=h;m.fireEvent("on"+j,w);};a.isFakeOut=function(s){if(this.getType()=="mouseout"){var nc=this.toElement();try{while(nc!=null){if(nc==s)return true;nc=nc.parentNode;}}catch(Kc){return false;}}return false;};a.isFakeOver=function(f){if(this.getType()=="mouseover"){var tb=this.fromElement();try{while(tb!=null){if(tb==f)return true;tb=tb.parentNode;}}catch(Kc){return false;}}return false;};a.toString=function(){var B=this.iF();if(B==null)return "@jsx3.gui.Event <empty>";var Ac=[];for(var dc in B){if(typeof(B[dc])!="function")Ac.push(dc);}Ac.sort();var Dc=["@jsx3.gui.Event "];for(var Nc=0;Nc<Ac.length;Nc++)Dc.push(Ac[Nc]+":"+B[Ac[Nc]]+" ");return Dc.join("");};});jsx3.gui.Event.subscribe(jsx3.gui.Event.UNLOAD,jsx3.destroy);jsx3.Class.defineClass("jsx3.EVT",null,[jsx3.util.EventDispatcher],function(h,e){e.init=function(p){if(p)this.e=jsx3.clone(p);};e.handleEvent=function(b,c){var Ab=jsx3.gui.Event.getCurrent();if(Ab==null){jsx3.util.Logger.getLogger(h.jsxclass.getName()).warn("handleEvent called when current event null: "+b);return;}if(Ab.getType()!=b.substring(2))jsx3.util.Logger.getLogger(h.jsxclass.getName()).warn("handleEvent called for type that does not match the current event's type: "+Ab.getType()+" "+b);jsx3.gui.Event.publish(Ab);};e.registerEvent=function(b,p){if(b.indexOf("on")==0)b=b.substring(2);jsx3.gui.Event.subscribe(b,function(){jsx3.eval(p);});};e.event=function(){return this.e||window.event;};e.iF=function(){return this.e||window.event;};e.srcElement=function(){var B=this.iF();return B&&B.srcElement;};e.toElement=function(){var Db=this.iF();return Db&&Db.toElement;};e.fromElement=function(){var Fc=this.iF();return Fc&&Fc.fromElement;};e.keyCode=function(){var bb=this.iF();return bb&&bb.keyCode;};e.clientX=function(){var oc=this.iF();return oc?oc.clientX:Number.NaN;};e.clientY=function(){var rb=this.iF();return rb?rb.clientY:Number.NaN;};e.getTrueX=function(){return this.iF().screenX-window.screenLeft;};e.getTrueY=function(){return this.iF().screenY-window.screenTop;};e.shiftKey=function(){var cc=this.iF();return cc&&cc.shiftKey;};e.ctrlKey=function(){var lc=this.iF();return lc&&lc.ctrlKey;};e.altKey=function(){var Mb=this.iF();return Mb&&Mb.altKey;};e.enterKey=function(){return this.iF().keyCode==13;};e.spaceKey=function(){return this.iF().keyCode==32;};e.tabKey=function(){return this.iF().keyCode==9;};e.rightArrow=function(){return this.iF().keyCode==39;};e.leftArrow=function(){return this.iF().keyCode==37;};e.upArrow=function(){return this.iF().keyCode==38;};e.downArrow=function(){return this.iF().keyCode==40;};e.deleteKey=function(){return this.iF().keyCode==46;};e.backspaceKey=function(){return this.iF().keyCode==8;};e.insertKey=function(){return this.iF().keyCode==45;};e.homeKey=function(){return this.iF().keyCode==36;};e.endKey=function(){return this.iF().keyCode==35;};e.pageUpKey=function(){return this.iF().keyCode==33;};e.pageDownKey=function(){return this.iF().keyCode==34;};e.escapeKey=function(){return this.iF().keyCode==27;};e.exists=function(){return this.iF()!=null;};e.cancelBubble=function(){this.iF().cancelBubble=true;};e.cancelReturn=function(){this.iF().returnValue=false;};e.cancelKey=function(){this.iF().keyCode=0;};e.leftButton=function(){var nc=this.iF();return nc&&nc.button==0;};e.rightButton=function(){var Hc=this.iF();return Hc&&Hc.button==2;};e.button=function(){var Xb=this.iF();return Xb?Xb.button:null;};e.setReturn=function(p){this.iF().returnValue=p;};e.setKeyCode=function(s){this.iF().keyCode=s;};e.isModifierKey=function(){var Ic=this.iF();return Ic.keyCode==16||Ic.keyCode==17||Ic.keyCode==18;};e.toString=function(){var zb="";var rb=this.iF();if(rb==nul
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -