diff --git a/js/ext/angular/test/gesture.html b/js/ext/angular/test/gesture.html
index cd9a108b2f..69b96b5830 100644
--- a/js/ext/angular/test/gesture.html
+++ b/js/ext/angular/test/gesture.html
@@ -49,29 +49,44 @@
$element[0].scrollTop = $element[0].scrollHeight;
};
- Gesture.on('tap', function(e) {
+ var tapFn = function(e) {
o('tap', [e.gesture.touches[0].pageX, e.gesture.touches[0].pageY]);
- }, $element);
+ };
+ var tapGesture = Gesture.on('tap', tapFn, $element);
- Gesture.on('release', function(e) {
+ var releaseFn = function(e) {
o('release', [e.gesture.touches[0].pageX, e.gesture.touches[0].pageY]);
- }, $element);
+ };
+ var releaseGesture = Gesture.on('release', releaseFn, $element);
- Gesture.on('hold', function(e) {
+ var holdFn = function(e) {
o('hold', [e.gesture.touches[0].pageX, e.gesture.touches[0].pageY]);
- }, $element);
+ };
+ var holdGesture = Gesture.on('hold', holdFn, $element);
- Gesture.on('drag', function(e) {
+ var dragFn = function(e) {
o('drag', [e.gesture.touches[0].pageX, e.gesture.touches[0].pageY, e.gesture.deltaX, e.gesture.deltaY]);
- }, $element);
+ };
+ var dragGesture = Gesture.on('drag', dragFn, $element);
- Gesture.on('swipe', function(e) {
+ var swipeFn = function(e) {
o('swipe', [e.gesture.touches[0].pageX, e.gesture.touches[0].pageY, e.gesture.direction]);
- }, $element);
+ };
+ var swipeGesture = Gesture.on('swipe', swipeFn, $element);
- Gesture.on('transform', function(e) {
+ var transformFn = function(e) {
o('transform', [e.gesture.touches[0].pageX, e.gesture.touches[0].pageY, e.gesture.direction]);
- }, $element);
+ };
+ var transformGesture = Gesture.on('transform', transformFn, $element);
+
+ $scope.$on('$destroy', function () {
+ Gesture.off(dragGesture, 'drag', dragFn);
+ Gesture.off(holdGesture, 'hold', holdFn);
+ Gesture.off(releaseGesture, 'release', releaseFn);
+ Gesture.off(swipeGesture, 'swipe', swipeFn);
+ Gesture.off(tapGesture, 'tap', tapFn);
+ Gesture.off(transformGesture, 'transform', transformFn);
+ });
}
};
});