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 | }); |
---|