13 lines
5.1 KiB
JavaScript
13 lines
5.1 KiB
JavaScript
//>>built
|
|
define("dojo/on",["./has!dom-addeventlistener?:./aspect","./_base/kernel","./sniff"],function(w,x,f){function y(a,c,b,d,e){if(d=c.match(/(.*):(.*)/))return c=d[2],d=d[1],h.selector(d,c).call(e,a,b);f("touch")&&(z.test(c)&&(b=m(b)),f("event-orientationchange")||"orientationchange"!=c||(c="resize",a=window,b=m(b)));n&&(b=n(b));if(a.addEventListener){var g=c in p,k=g?p[c]:c;a.addEventListener(k,b,g);return{type:c,remove:function(){a.removeEventListener(k,b,g)}}}if(q&&a.attachEvent)return q(a,"on"+c,
|
|
b);throw Error("Target must be an event emitter");}function A(){this.cancelable=!1;this.defaultPrevented=!0}function B(){this.bubbles=!1}var r=window.ScriptEngineMajorVersion;f.add("jscript",r&&r()+ScriptEngineMinorVersion()/10);f.add("event-orientationchange",f("touch")&&!f("android"));f.add("event-stopimmediatepropagation",window.Event&&!!window.Event.prototype&&!!window.Event.prototype.stopImmediatePropagation);f.add("event-focusin",function(a,c,b){return!!b.attachEvent});var h=function(a,c,b,
|
|
d){return"function"!=typeof a.on||"function"==typeof c||a.nodeType?h.parse(a,c,b,y,d,this):a.on(c,b)};h.pausable=function(a,c,b,d){var e;a=h(a,c,function(){if(!e)return b.apply(this,arguments)},d);a.pause=function(){e=!0};a.resume=function(){e=!1};return a};h.once=function(a,c,b,d){var e=h(a,c,function(){e.remove();return b.apply(this,arguments)});return e};h.parse=function(a,c,b,d,e,g){if(c.call)return c.call(g,a,b);if(-1<c.indexOf(",")){c=c.split(/\s*,\s*/);for(var k=[],h=0,f;f=c[h++];)k.push(d(a,
|
|
f,b,e,g));k.remove=function(){for(var a=0;a<k.length;a++)k[a].remove()};return k}return d(a,c,b,e,g)};var z=/^touch/;h.selector=function(a,c,b){return function(d,e){function g(c){for(k=k&&k.matches?k:x.query;!k.matches(c,a,d);)if(c==d||!1===b||!(c=c.parentNode)||1!=c.nodeType)return;return c}var k="function"==typeof a?{matches:a}:this,f=c.bubble;return f?h(d,f(g),e):h(d,c,function(a){var b=g(a.target);return b&&e.call(b,a)})}};var C=[].slice,D=h.emit=function(a,c,b){var d=C.call(arguments,2),e="on"+
|
|
c;if("parentNode"in a){var g=d[0]={},f;for(f in b)g[f]=b[f];g.preventDefault=A;g.stopPropagation=B;g.target=a;g.type=c;b=g}do a[e]&&a[e].apply(a,d);while(b&&b.bubbles&&(a=a.parentNode));return b&&b.cancelable&&b},p=f("event-focusin")?{}:{focusin:"focus",focusout:"blur"};if(!f("event-stopimmediatepropagation"))var E=function(){this.modified=this.immediatelyStopped=!0},n=function(a){return function(c){if(!c.immediatelyStopped)return c.stopImmediatePropagation=E,a.apply(this,arguments)}};if(f("dom-addeventlistener"))h.emit=
|
|
function(a,c,b){if(a.dispatchEvent&&document.createEvent){var d=a.ownerDocument.createEvent("HTMLEvents");d.initEvent(c,!!b.bubbles,!!b.cancelable);for(var e in b)e in d||(d[e]=b[e]);return a.dispatchEvent(d)&&d}return D.apply(h,arguments)};else{h._fixEvent=function(a,c){a||(a=(c&&(c.ownerDocument||c.document||c).parentWindow||window).event);if(!a)return a;try{l&&a.type==l.type&&a.srcElement==l.target&&(a=l)}catch(d){}if(!a.target)switch(a.target=a.srcElement,a.currentTarget=c||a.srcElement,"mouseover"==
|
|
a.type&&(a.relatedTarget=a.fromElement),"mouseout"==a.type&&(a.relatedTarget=a.toElement),a.stopPropagation||(a.stopPropagation=F,a.preventDefault=G),a.type){case "keypress":var b="charCode"in a?a.charCode:a.keyCode;10==b?(b=0,a.keyCode=13):13==b||27==b?b=0:3==b&&(b=99);a.charCode=b;b=a;b.keyChar=b.charCode?String.fromCharCode(b.charCode):"";b.charOrCode=b.keyChar||b.keyCode}return a};var l,t=function(a){this.handle=a};t.prototype.remove=function(){delete _dojoIEListeners_[this.handle]};var H=function(a){return function(c){c=
|
|
h._fixEvent(c,this);var b=a.call(this,c);c.modified&&(l||setTimeout(function(){l=null}),l=c);return b}},q=function(a,c,b){b=H(b);if(((a.ownerDocument?a.ownerDocument.parentWindow:a.parentWindow||a.window||window)!=top||5.8>f("jscript"))&&!f("config-_allow_leaks")){"undefined"==typeof _dojoIEListeners_&&(_dojoIEListeners_=[]);var d=a[c];if(!d||!d.listeners){var e=d,d=Function("event","var callee \x3d arguments.callee; for(var i \x3d 0; i\x3ccallee.listeners.length; i++){var listener \x3d _dojoIEListeners_[callee.listeners[i]]; if(listener){listener.call(this,event);}}");
|
|
d.listeners=[];a[c]=d;d.global=this;e&&d.listeners.push(_dojoIEListeners_.push(e)-1)}d.listeners.push(a=d.global._dojoIEListeners_.push(b)-1);return new t(a)}return w.after(a,c,b,!0)},F=function(){this.cancelBubble=!0},G=h._preventDefault=function(){this.bubbledKeyCode=this.keyCode;if(this.ctrlKey)try{this.keyCode=0}catch(a){}this.defaultPrevented=!0;this.returnValue=!1;this.modified=!0}}if(f("touch"))var u=function(){},v=window.orientation,m=function(a){return function(c){var b=c.corrected;if(!b){var d=
|
|
c.type;try{delete c.type}catch(k){}if(c.type){if(f("mozilla")){var b={},e;for(e in c)b[e]=c[e]}else u.prototype=c,b=new u;b.preventDefault=function(){c.preventDefault()};b.stopPropagation=function(){c.stopPropagation()}}else b=c,b.type=d;c.corrected=b;if("resize"==d){if(v==window.orientation)return null;v=window.orientation;b.type="orientationchange";return a.call(this,b)}"rotation"in b||(b.rotation=0,b.scale=1);var d=b.changedTouches[0],g;for(g in d)delete b[g],b[g]=d[g]}return a.call(this,b)}};
|
|
return h});
|
|
//# sourceMappingURL=on.js.map
|