Skip to content

Commit a78a568

Browse files
author
Adam Bradley
committed
Merge pull request #471 from RangerRick/470-customevent-polyfill
#470 change the CustomEvent polyfill to work with older browsers
2 parents 41fc436 + 13ec3bc commit a78a568

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

js/utils/events.js

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@
1515
// Custom event polyfill
1616
if(!window.CustomEvent) {
1717
(function() {
18-
var CustomEvent;
18+
var CustomEvent,
19+
ua = navigator.userAgent,
20+
androidVersion = ua.indexOf('Android') >= 0? parseFloat(ua.slice(ua.indexOf("Android")+8)) : 0;
1921

2022
CustomEvent = function(event, params) {
2123
var evt;
@@ -24,8 +26,16 @@
2426
cancelable: false,
2527
detail: undefined
2628
};
27-
evt = document.createEvent("CustomEvent");
28-
evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);
29+
if (androidVersion < 4.0) {
30+
evt = document.createEvent("Event");
31+
for (var param in params) {
32+
evt[param] = params[param];
33+
}
34+
evt.initEvent(event, params.bubbles, params.cancelable);
35+
} else {
36+
evt = document.createEvent("CustomEvent");
37+
evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);
38+
}
2939
return evt;
3040
};
3141

0 commit comments

Comments
 (0)