source: Dev/trunk/src/client/dojo/_base/event.js @ 532

Last change on this file since 532 was 483, checked in by hendrikvanantwerpen, 11 years ago

Added Dojo 1.9.3 release.

File size: 1.5 KB
Line 
1define(["./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});
Note: See TracBrowser for help on using the repository browser.