From 6d3f224817ef17c08550fe335c44cdcc8f0932dc Mon Sep 17 00:00:00 2001 From: Jeremy Ruston Date: Fri, 5 Jul 2013 11:15:51 +0100 Subject: [PATCH] Fix problem with pop listview animation It turns out the transitionEnd event fires separately for each animated property. We'll just remove ourselves on the first one --- core/modules/widgets/list/listviews/pop.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/modules/widgets/list/listviews/pop.js b/core/modules/widgets/list/listviews/pop.js index 43aceda6c..5dcdab7f0 100644 --- a/core/modules/widgets/list/listviews/pop.js +++ b/core/modules/widgets/list/listviews/pop.js @@ -48,10 +48,12 @@ PopListView.prototype.remove = function(index) { var listElementNode = this.listWidget.children[index], targetElement = listElementNode.domNode; // Attach an event handler for the end of the transition - targetElement.addEventListener($tw.utils.convertEventName("transitionEnd"),function(event) { + var transitionEventName = $tw.utils.convertEventName("transitionEnd"); + targetElement.addEventListener(transitionEventName,function handler(event) { if(targetElement.parentNode) { targetElement.parentNode.removeChild(targetElement); } + targetElement.removeEventListener(transitionEventName,handler,false); },false); // Animate the closure $tw.utils.setStyle(targetElement,[