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,b,c,d,e){if(d=b.match(/(.*):(.*)/))return b=d[2],d=d[1],h.selector(d,b).call(e,a,c);f("touch")&&(z.test(b)&&(c=m(c)),f("event-orientationchange")||"orientationchange"!=b||(b="resize",a=window,c=m(c)));n&&(c=n(c));if(a.addEventListener){var g=b in p,k=g?p[b]:b;a.addEventListener(k,c,g);return{type:b,remove:function(){a.removeEventListener(k,c,g)}}}if(q&&a.attachEvent)return q(a,"on"+b,
|
|
c);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,b,c){return!!c.attachEvent});var h=function(a,b,c,
|
|
d){return"function"!=typeof a.on||"function"==typeof b||a.nodeType?h.parse(a,b,c,y,d,this):a.on(b,c)};h.pausable=function(a,b,c,d){var e;a=h(a,b,function(){if(!e)return c.apply(this,arguments)},d);a.pause=function(){e=!0};a.resume=function(){e=!1};return a};h.once=function(a,b,c,d){var e=h(a,b,function(){e.remove();return c.apply(this,arguments)});return e};h.parse=function(a,b,c,d,e,g){if(b.call)return b.call(g,a,c);if(-1<b.indexOf(",")){b=b.split(/\s*,\s*/);for(var k=[],h=0,f;f=b[h++];)k.push(d(a,
|
|
f,c,e,g));k.remove=function(){for(var a=0;a<k.length;a++)k[a].remove()};return k}return d(a,b,c,e,g)};var z=/^touch/;h.selector=function(a,b,c){return function(d,e){function g(b){for(k=k&&k.matches?k:x.query;!k.matches(b,a,d);)if(b==d||!1===c||!(b=b.parentNode)||1!=b.nodeType)return;return b}var k="function"==typeof a?{matches:a}:this,f=b.bubble;return f?h(d,f(g),e):h(d,b,function(a){var b=g(a.target);return b&&e.call(b,a)})}};var C=[].slice,D=h.emit=function(a,b,c){var d=C.call(arguments,2),e="on"+
|
|
b;if("parentNode"in a){var g=d[0]={},f;for(f in c)g[f]=c[f];g.preventDefault=A;g.stopPropagation=B;g.target=a;g.type=b;c=g}do a[e]&&a[e].apply(a,d);while(c&&c.bubbles&&(a=a.parentNode));return c&&c.cancelable&&c},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(b){if(!b.immediatelyStopped)return b.stopImmediatePropagation=E,a.apply(this,arguments)}};if(f("dom-addeventlistener"))h.emit=
|
|
function(a,b,c){if(a.dispatchEvent&&document.createEvent){var d=a.ownerDocument.createEvent("HTMLEvents");d.initEvent(b,!!c.bubbles,!!c.cancelable);for(var e in c)e in d||(d[e]=c[e]);return a.dispatchEvent(d)&&d}return D.apply(h,arguments)};else{h._fixEvent=function(a,b){a||(a=(b&&(b.ownerDocument||b.document||b).parentWindow||window).event);if(!a)return a;try{l&&a.type==l.type&&a.srcElement==l.target&&(a=l)}catch(c){}if(!a.target)switch(a.target=a.srcElement,a.currentTarget=b||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":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(b){b=
|
|
h._fixEvent(b,this);var c=a.call(this,b);b.modified&&(l||setTimeout(function(){l=null}),l=b);return c}},q=function(a,b,c){c=H(c);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[b];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[b]=d;d.global=this;e&&d.listeners.push(_dojoIEListeners_.push(e)-1)}d.listeners.push(a=d.global._dojoIEListeners_.push(c)-1);return new t(a)}return w.after(a,b,c,!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(b){var c=b.corrected;if(!c){var d=
|
|
b.type;try{delete b.type}catch(k){}if(b.type){if(f("mozilla")){var c={},e;for(e in b)c[e]=b[e]}else u.prototype=b,c=new u;c.preventDefault=function(){b.preventDefault()};c.stopPropagation=function(){b.stopPropagation()}}else c=b,c.type=d;b.corrected=c;if("resize"==d){if(v==window.orientation)return null;v=window.orientation;c.type="orientationchange";return a.call(this,c)}"rotation"in c||(c.rotation=0,c.scale=1);var d=c.changedTouches[0],g;for(g in d)delete c[g],c[g]=d[g]}return a.call(this,c)}};
|
|
return h});
|
|
//# sourceMappingURL=on.js.map
|