-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathEvents.js
More file actions
62 lines (54 loc) · 1.7 KB
/
Events.js
File metadata and controls
62 lines (54 loc) · 1.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
jsx.require([jsx.base + '.Events'], function(){
jsx.Events.__observe = jsx.Events.observe;
jsx.Events.observe = function(element, name, observer, useCapture, observe){
observe = (typeof(observe) == 'undefined' ? true : observe);
return new jsx.Events.observer(element, name, observer, useCapture, observe);
};
jsx.Events.observer = function (element, name, observer, useCapture, observe){
this.element = element;
this.name = name;
this.observer = observer;
this.useCapture = useCapture;
(observe ? this.start() : this.stop());
};
jsx.Events.observer.prototype = new function(){
this.stop = function(){
if (typeof this.observe != 'undefined' && !this.observe){
return;
}
jsx.Events.stopObserving(this.element, this.name, this.observer, this.useCapture);
this.observe = false;
};
this.start = function(){
if (typeof this.observe != 'undefined' && this.observe){
return;
}
jsx.Events.__observe(this.element, this.name, this.observer, this.useCapture);
this.observe = true;
};
return this;
};
jsx.Events.unloadObserver = function(observer){
observer.element = null;
observer.observer = null;
};
jsx.Events.stop = function(event){
jsx.Events.preventDefault(event);
jsx.Events.stopPropagation(event);
};
jsx.Events.preventDefault = function(event){
if (event.preventDefault) {
event.preventDefault();
} else {
event.returnValue = false;
}
};
jsx.Events.stopPropagation = function(event){
if (event.preventDefault) {
event.stopPropagation();
} else {
event.cancelBubble = true;
}
};
jsx.loaded('Events');
});