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