-
Notifications
You must be signed in to change notification settings - Fork 17
Expand file tree
/
Copy pathFastActive.js
More file actions
22 lines (22 loc) · 943 Bytes
/
FastActive.js
File metadata and controls
22 lines (22 loc) · 943 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
(function(d, w, fastActiveClassName, isFastActiveTarget) {
if ((('ontouchstart' in w) || w.DocumentTouch && d instanceof DocumentTouch)) {
var activeElement = null,
clearActive = function() {
if (activeElement) {
activeElement.classList.remove(fastActiveClassName);
activeElement = null;
}
},
setActive = function(e) {
clearActive();
if (isFastActiveTarget(e)) {
activeElement = e.target;
activeElement.classList.add(fastActiveClassName);
}
};
d.body.addEventListener('touchstart', setActive, false);
d.body.addEventListener('touchmove', clearActive, false);
}
})(document, window, 'active', function(e) {
return ['A', 'INPUT'].indexOf(e.target.tagName) > -1; // Put your conditional logic here
});