diff options
Diffstat (limited to 'client/components/main/popup.js')
-rw-r--r-- | client/components/main/popup.js | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/client/components/main/popup.js b/client/components/main/popup.js index 8abe1697..48847525 100644 --- a/client/components/main/popup.js +++ b/client/components/main/popup.js @@ -1,11 +1,21 @@ // XXX This event list must be abstracted somewhere else. -var endTransitionEvents = [ - 'webkitTransitionEnd', - 'otransitionend', - 'oTransitionEnd', - 'msTransitionEnd', - 'transitionend' -].join(' '); +function whichTransitionEvent() { + var t; + var el = document.createElement('fakeelement'); + var transitions = { + transition:'transitionend', + OTransition:'oTransitionEnd', + MozTransition:'transitionend', + WebkitTransition:'webkitTransitionEnd' + }; + + for (t in transitions) { + if (el.style[t] !== undefined) { + return transitions[t]; + } + } +} +var transitionEvent = whichTransitionEvent(); Popup.template.events({ click: function(evt) { @@ -32,7 +42,7 @@ Popup.template.onRendered(function() { container._uihooks = { removeElement: function(node) { $(node).addClass('no-height'); - $(container).one(endTransitionEvents, function() { + $(container).one(transitionEvent, function() { node.parentNode.removeChild(node); }); } |