From 8a79d8b0c03ad775cc2ed43e0c7d357a5049d235 Mon Sep 17 00:00:00 2001 From: Justin Sermeno Date: Tue, 8 Mar 2016 18:38:52 -0500 Subject: [PATCH] memory leak fix --- src/js/waves.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/js/waves.js b/src/js/waves.js index 16b754b..d622919 100644 --- a/src/js/waves.js +++ b/src/js/waves.js @@ -187,6 +187,14 @@ for (var i = 0, len = ripples.length; i < len; i++) { removeRipple(e, element, ripples[i]); } + + if (isTouchAvailable) { + element.removeEventListener('touchend', Effect.hide); + element.removeEventListener('touchcancel', Effect.hide); + } + + element.removeEventListener('mouseup', Effect.hide); + element.removeEventListener('mouseleave', Effect.hide); } }; @@ -417,6 +425,8 @@ hidden = true; Effect.hide(hideEvent, element); } + + removeListeners(); }; var touchMove = function(moveEvent) { @@ -425,12 +435,19 @@ timer = null; } hideEffect(moveEvent); + + removeListeners(); }; element.addEventListener('touchmove', touchMove, false); element.addEventListener('touchend', hideEffect, false); element.addEventListener('touchcancel', hideEffect, false); + var removeListeners = function() { + element.removeEventListener('touchmove', touchMove); + element.removeEventListener('touchend', hideEffect); + element.removeEventListener('touchcancel', hideEffect); + }; } else { Effect.show(e, element);