summaryrefslogtreecommitdiffstats
path: root/client/lib/cssEvents.js
diff options
context:
space:
mode:
Diffstat (limited to 'client/lib/cssEvents.js')
-rw-r--r--client/lib/cssEvents.js42
1 files changed, 42 insertions, 0 deletions
diff --git a/client/lib/cssEvents.js b/client/lib/cssEvents.js
new file mode 100644
index 00000000..487ba69b
--- /dev/null
+++ b/client/lib/cssEvents.js
@@ -0,0 +1,42 @@
+// XXX Should we use something like Moderniz instead of our custom detector?
+
+var whichTransitionEvent = function() {
+ var t;
+ var el = document.createElement('fakeelement');
+ var transitions = {
+ transition:'transitionend',
+ OTransition:'oTransitionEnd',
+ MSTransition:'msTransitionEnd',
+ MozTransition:'transitionend',
+ WebkitTransition:'webkitTransitionEnd'
+ };
+
+ for (t in transitions) {
+ if (el.style[t] !== undefined) {
+ return transitions[t];
+ }
+ }
+};
+
+var whichAnimationEvent = function() {
+ var t;
+ var el = document.createElement('fakeelement');
+ var transitions = {
+ animation:'animationend',
+ OAnimation:'oAnimationEnd',
+ MSTransition:'msAnimationEnd',
+ MozAnimation:'animationend',
+ WebkitAnimation:'webkitAnimationEnd'
+ };
+
+ for (t in transitions) {
+ if (el.style[t] !== undefined) {
+ return transitions[t];
+ }
+ }
+};
+
+CSSEvents = {
+ transitionend: whichTransitionEvent(),
+ animationend: whichAnimationEvent()
+};