-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbase.js
More file actions
110 lines (101 loc) · 2.25 KB
/
base.js
File metadata and controls
110 lines (101 loc) · 2.25 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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
/*
* Render a tree of objects
* Base functionality
*
* @package Task
* @author Vallo Reima
* @copyright (C)2015
*/
/*
* Get element by Id
*/
function $(id, obj)
{
if (typeof obj === 'undefined') {
var o = document;
} else {
o = obj.document;
}
return id ? o.getElementById(id) : null;
}
/*
* Get elements by object tag name
*/
function $$(obj, tag)
{
var o = (typeof obj === 'string') ? document.getElementById(obj) : obj;
return o.getElementsByTagName(tag);
}
/*
* Cross-browser method
* in: target - element id
* eventType - click, ...
* functionRef - handler
* capture -- false - bubble (default)
* true - propagation
*/
function AttachEventListener(target, eventType, functionRef, capture)
{
if (typeof capture === 'undefined') {
capture = false;
}
if (target.addEventListener) {
target.addEventListener(eventType, functionRef, capture);
} else if (target.attachEvent) {
target.attachEvent('on' + eventType, functionRef);
} else {
target['on' + eventType] = functionRef;
}
}
function DetachEventListener(target, eventType, functionRef, capture)
{
if (typeof capture === 'undefined') {
capture = false;
}
if (target.removeEventListener) {
target.removeEventListener(eventType, functionRef, capture);
} else if (target.detachEvent) {
target.detachEvent('on' + eventType, functionRef);
} else {
target['on' + eventType] = null;
}
}
/*
* Prevent the Default Action for an Event
* in: event - object
* flag -- true - don't cancel bubble
*/
function StopEvent(event, flag)
{
var e = event ? event : window.event;
e.returnValue = false;
if (flag !== true) {
e.cancelBubble = true;
if (e.stopPropagation) {
e.stopPropagation();
e.preventDefault();
}
}
return false;
}
function Target(e)
{
return (window.event) ? e.srcElement : e.target;
}
function KeyCode(event)
{
var e = event || window.event;
return (e.which || e.keyCode || e.charCode);
// return (e.keyCode ? e.keyCode : e.charCode);
}
/*
* Check string blankness
*/
function IsBlank(string)
{
var blankRE = /^[\s]*$/;
return blankRE.test(string);
}
function IsArray(varMixed) {
return (typeof varMixed === 'object') && (varMixed instanceof Array);
}