]> git.ipfire.org Git - thirdparty/foundation/foundation-sites.git/commitdiff
fix: correctly remove the event listener in _destroy
authorBen Zhang <benzhangniu@gmail.com>
Fri, 7 Dec 2018 21:08:21 +0000 (16:08 -0500)
committerBen Zhang <benzhangniu@gmail.com>
Fri, 7 Dec 2018 21:08:21 +0000 (16:08 -0500)
js/foundation.smoothScroll.js

index a58d6c428ec3cde25cf71bebeb813682dbbec6d1..6280c39ecdfbefb80beac5ee304976e95aa6f8c8 100644 (file)
@@ -39,8 +39,9 @@ class SmoothScroll extends Plugin {
      * @private
      */
     _events() {
-        this.$element.on('click.zf.smoothScroll', this._handleLinkClick.bind(this));
-        this.$element.on('click.zf.smoothScroll', 'a[href^="#"]', this._handleLinkClick.bind(this));
+        this._linkClickListenner = this._handleLinkClick.bind(this);
+        this.$element.on('click.zf.smoothScroll', this._linkClickListenner);
+        this.$element.on('click.zf.smoothScroll', 'a[href^="#"]', this._linkClickListenner);
     }
 
     /**
@@ -97,8 +98,8 @@ class SmoothScroll extends Plugin {
      * @function
      */
     _destroy() {
-        this.$element.off('click.zf.smoothScroll', this._handleLinkClick)
-        this.$element.off('click.zf.smoothScroll', 'a[href^="#"]', this._handleLinkClick);
+        this.$element.off('click.zf.smoothScroll', this._linkClickListenner)
+        this.$element.off('click.zf.smoothScroll', 'a[href^="#"]', this._linkClickListenner);
     }
 }