[483] | 1 | define(["./kernel", "../on", "../has", "../dom-geometry"], function(dojo, on, has, dom){ |
---|
| 2 | // module: |
---|
| 3 | // dojo/_base/event |
---|
| 4 | |
---|
| 5 | if(on._fixEvent){ |
---|
| 6 | var fixEvent = on._fixEvent; |
---|
| 7 | on._fixEvent = function(evt, se){ |
---|
| 8 | // add some additional normalization for back-compat, this isn't in on.js because it is somewhat more expensive |
---|
| 9 | evt = fixEvent(evt, se); |
---|
| 10 | if(evt){ |
---|
| 11 | dom.normalizeEvent(evt); |
---|
| 12 | } |
---|
| 13 | return evt; |
---|
| 14 | }; |
---|
| 15 | } |
---|
| 16 | |
---|
| 17 | var ret = { |
---|
| 18 | // summary: |
---|
| 19 | // This module defines dojo DOM event API. Usually you should use dojo/on, and evt.stopPropagation() + |
---|
| 20 | // evt.preventDefault(), rather than this module. |
---|
| 21 | |
---|
| 22 | fix: function(/*Event*/ evt, /*DOMNode*/ sender){ |
---|
| 23 | // summary: |
---|
| 24 | // normalizes properties on the event object including event |
---|
| 25 | // bubbling methods, keystroke normalization, and x/y positions |
---|
| 26 | // evt: Event |
---|
| 27 | // native event object |
---|
| 28 | // sender: DOMNode |
---|
| 29 | // node to treat as "currentTarget" |
---|
| 30 | if(on._fixEvent){ |
---|
| 31 | return on._fixEvent(evt, sender); |
---|
| 32 | } |
---|
| 33 | return evt; // Event |
---|
| 34 | }, |
---|
| 35 | |
---|
| 36 | stop: function(/*Event*/ evt){ |
---|
| 37 | // summary: |
---|
| 38 | // prevents propagation and clobbers the default action of the |
---|
| 39 | // passed event |
---|
| 40 | // evt: Event |
---|
| 41 | // The event object. If omitted, window.event is used on IE. |
---|
| 42 | if(has("dom-addeventlistener") || (evt && evt.preventDefault)){ |
---|
| 43 | evt.preventDefault(); |
---|
| 44 | evt.stopPropagation(); |
---|
| 45 | }else{ |
---|
| 46 | evt = evt || window.event; |
---|
| 47 | evt.cancelBubble = true; |
---|
| 48 | on._preventDefault.call(evt); |
---|
| 49 | } |
---|
| 50 | } |
---|
| 51 | }; |
---|
| 52 | |
---|
| 53 | if(has("extend-dojo")){ |
---|
| 54 | dojo.fixEvent = ret.fix; |
---|
| 55 | dojo.stopEvent = ret.stop; |
---|
| 56 | } |
---|
| 57 | |
---|
| 58 | return ret; |
---|
| 59 | }); |
---|