dom-utils.js
1 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
var RED_REGEX = /red|rgb\(255,\s*0,\s*0\)/;
var GREEN_REGEX = /green|rgb\(0,\s*255,\s*0\)/;
var BLUE_REGEX = /blue|rgb\(0,\s*0,\s*255\)/;
function getStockScrollbarWidths(dir) {
var el = $('<div><div style="position:relative"/></div>')
.css({
position: 'absolute',
top: -1000,
left: 0,
border: 0,
padding: 0,
overflow: 'scroll',
direction: dir || 'ltr'
})
.appendTo('body');
var innerEl = el.children();
var width = el.width();
var height = el.height();
var offset = el.offset();
var innerOffset = innerEl.offset();
var girths = {
left: innerOffset.left - offset.left,
right: offset.left + width - innerOffset.left,
top: innerOffset.top - offset.top,
bottom: offset.top + height - innerOffset.top
};
el.remove();
return girths;
}
function countHandlers(el) {
var hash = getHandlerHash(el);
var cnt = 0;
$.each(hash, function(name, handlers) {
cnt += handlers.length;
});
return cnt;
}
function getHandlerHash(el) {
return $._data($(el)[0], 'events') || {};
}