]>
Commit | Line | Data |
---|---|---|
f0cfe83e AD |
1 | define("dojo/_base/event", ["./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( 1 ){ | |
54 | dojo.fixEvent = ret.fix; | |
55 | dojo.stopEvent = ret.stop; | |
56 | } | |
57 | ||
58 | return ret; | |
59 | }); |